OpDemand Shell

Software skärmdump:
OpDemand Shell
Mjukvaruinformation:
Version: 0.9
Ladda upp dagen: 15 Apr 15
Utvecklare: OpDemand
Licens: Gratis
Popularitet: 10

Rating: nan/5 (Total Votes: 0)

OpDemand Shell Projektet innehåller kommandoraden klient gränssnitt till C2-systemet. Dessa python-moduler är en del av OpDemand s Command & Control-teknik (C2).
Open Source
C2-shell-projektet har gjorts öppen källkod från OpDemand.
C2 Shell Dokumentation
Innan du börjar
- Du behöver ett aktivt C2-konto. Skapa en gratis på https://c2.opdemand.com/
- Instruktioner antar OSX eller Linux (Windows har inte testats, men bör fungera)
Installation
Installation använder standard distutils konvention.
sudo Python setup.py installera
Konfiguration
Lägg ditt C2 inloggnings e-postadress till den lokala klientkonfiguration.
c2 lokal uppsättning --email=c2user@opdemand.com
En c2 lokal get visar aktuell konfiguration.
Loggning I
Utfärda en c2 inloggning, vilket kommer att använda e-postadressen konfigurerad ovan och be dig om ett lösenord.
användare @ box: ~ / arbetsyta / c2-shell $ c2 inloggning
lösenord:
2011-06-07 08: 44: 12.052 - INFO - => POST https://c2core.opdemand.com/session
2011-06-07 08: 44: 13.095 - INFO - GET https://c2core.opdemand.com/template
2011-06-07 09: 21: 21.879 - INFO - <= 200 OK, läsning 1822 bytes application / json
[# JSON lista över mallar
& Nbsp; {
& Nbsp; # Första mall
& Nbsp;},
& Nbsp; {
& Nbsp; # Second mall
& Nbsp;}
]
2011-06-07 09: 21: 21.881 - INFO - (mall / lista) framgång i 0.524872s
Hitta _ID värdet av mallen som du vill distribuera och kopiera den till Urklipp.
Skapa ett nytt Platform
Välj önskad mall och utfärda ett c2 mall belastning av mallen _ID, vilket kommer att skapa en ny plattform.
användare @ box: ~ / arbetsyta / c2-shell $ c2 mall belastning --_ id = 6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09: 42: 36.711 - INFO - => POST https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2/load
2011-06-07 09: 42: 38.606 - INFO - <= 201 Skapad, läsning 14850 byte application / json
{
& Nbsp; # Mycket längre JSON representation av mallen
}
2011-06-07 09: 42: 38.757 - INFO - (mall / last) framgång i 2.061932s
Lista Plattformar
Utfärda en c2 plattform listan för att se de tillgängliga plattformar på ditt konto.
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform lista
2011-06-07 09: 46: 48.327 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 09: 46: 48.884 - INFO - <= 200 OK, läsning 566 bytes application / json
[
& Nbsp; {
& Nbsp; # Din nya plattform
& Nbsp;}
]
2011-06-07 09: 46: 48.885 - INFO - (plattform / lista) framgång i 0.572228s
Kopiera _ID av denna plattform till Urklipp.
Läs plattformen
Lista verksamheten visar endast sammanfattande representationer av objekt i en samling. För att visa den fulla representation av en plattform (en som innehåller dess kapslade komponenter) du måste utfärda ett c2 plattform läsa och ge _ID:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform läst --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 16: 06.050 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 16: 06.984 - INFO - <= 200 OK, läsning 14850 byte application / json
{
& Nbsp; # Fullständig plattform representation
}
2011-06-07 10: 16: 07.152 - INFO - (plattform / läsa) framgång i 1.117754s
Att arbeta med JSON svar
Den ovan plattformen är för lång för att läsa. Lyckligtvis C2 skalet inkluderar en integrerad JSON prettifier som gör JSON-utgång från någon C2 skalkommandon mycket lättare att läsa.
Enkelt rör någon c2 kommandot till C2 pretty:
användare @ box: ~ / arbetsyta / c2-shell $ c2 mall läs --_ id = 6c86dfc5ddfe464199021b8dcaf521a2 | C2 pretty
2011-06-07 09: 32: 00.646 - INFO - => GET https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09: 32: 01.378 - INFO - <= 200 OK, läsning 12022 byte application / json
2011-06-07 09: 32: 01.535 - INFO - (mall / läsa) framgång i 0.904613s
tiers.0.name "Nätverks Tier"
tiers.0.doctype "tier"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Resten av prettified JSON
Alla C2 kommandon läsas från standard in och skriver till standard ut. Det betyder rå JSON och prettified JSON kan ledas till något annat kommando som använder UNIX-stil rör. (T ex grep).
Konfigurera plattformen
Först läste plattformen och grep för standard config uppgifter:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform läst --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pretty | grep config
2011-06-07 10: 26: 29.828 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 26: 30.486 - INFO - <= 200 OK, läsning 14850 byte application / json
2011-06-07 10: 26: 30.635 - INFO - (plattform / läsa) framgång i 0.821403s
config.access_network "0.0.0.0/0"
config.image_id "ami-06ad526f"
config.doctype "config"
config._rev "1-38d720a0975e4d377ccbfd3cb7864185"
config.access_port "22"
config.cloud_name "oss-öst-1"
config.clone_.parent_id "ceee3724a3674bc096a2a6d2dfde7209"
config.clone_.parent_impl.cls_ "c2core.resolve.Config"
config.admin_network "0.0.0.0/0"
config._id "ceee3724a3674bc096a2a6d2dfde7209"
config.impl.cls_ "c2core.resolve.Config"
config.views.7bbeacb1082e4810bb1a6643d024496e.0.0 "7bbeacb1082e4810bb1a6643d024496e"
config.views.7bbeacb1082e4810bb1a6643d024496e.0.1 "config"
metadata.config_info.access_port "Port lyssnar på servern"
metadata.config_info.access_network "Nätverksmask för allmänna användare"
metadata.config_info.cloud_name "Namn på AWS regionen"
metadata.config_info.admin_network "Nätverks mask för admin-användare"
Låt oss begränsa alla nätverksåtkomst till en värd - 1.1.1.1/32. Detta kommer att kräva att ändra access_network och admin_network nycklar.
Eftersom config är en kapslad dokument med egen _ID och _rev måste vi ändra config dokumentet direkt. För att göra detta, vi följer RESTful konventionen att läsa representation och rörsystem den till en uppdatering operation:
användare @ box: ~ / arbetsyta / c2-shell $ c2 config läs --_ id = ceee3724a3674bc096a2a6d2dfde7209 | c2 config uppdatering - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10: 35: 39.643 - INFO - läsning objekt från stdin, att ctrl-c sönder ...
2011-06-07 10: 35: 39.661 - INFO - => GET https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10: 35: 40.573 - INFO - <= 200 OK, läsning 692 bytes application / json
2011-06-07 10: 35: 40.574 - INFO - (config / läsa) framgång i 0.931527s
2011-06-07 10: 35: 40.603 - INFO - => PUT https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10: 35: 41.316 - INFO - <= 200 OK, läsning 694 bytes application / json
{
& Nbsp; "_ id": "ceee3724a3674bc096a2a6d2dfde7209",
& Nbsp; "_ rev": "2-6a1cac4a1851fead776d4184e1218028",
& Nbsp; "access_network": "1.1.1.1/32",
& Nbsp; "access_port": "22",
& Nbsp; "admin_network": "1.1.1.1/32",
& Nbsp; "clone_": {
& Nbsp; "parent_id": "ceee3724a3674bc096a2a6d2dfde7209",
& Nbsp; "parent_impl": {
& Nbsp; "cls_": "c2core.resolve.Config"
& Nbsp;}
& Nbsp;},
& Nbsp; "cloud_name": "us-east-1",
& Nbsp; "doctype": "config",
& Nbsp; "image_id": "ami-06ad526f",
& Nbsp; "impl": {
& Nbsp; "cls_": "c2core.resolve.Config"
& Nbsp;},
& nbsp; "åsikter": {
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e": [
& Nbsp; [
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e",
& Nbsp; "config"
& Nbsp;]
& Nbsp;]
& Nbsp;}
}
2011-06-07 10: 35: 41.317 - INFO - (config / uppdatering) framgång i 0.730138s
Re-läsa plattformen konfiguration för att bekräfta det överordnade dokumentet innehåller den uppdaterade, kapslade konfiguration:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform läst --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pretty | grep config
2011-06-07 10: 37: 11.131 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 37: 11,825 - INFO - <= 200 OK, läsning 14852 byte application / json
2011-06-07 10: 37: 11.977 - INFO - (plattform / läsa) framgång i 0.862029s
config.access_network "1.1.1.1/32"
config.image_id "ami-06ad526f"
config.doctype "config"
config._rev "2-6a1cac4a1851fead776d4184e1218028"
config.access_port "22"
config.cloud_name "oss-öst-1"
config.clone_.parent_id "ceee3724a3674bc096a2a6d2dfde7209"
config.clone_.parent_impl.cls_ "c2core.resolve.Config"
config.admin_network "1.1.1.1/32"
config._id "ceee3724a3674bc096a2a6d2dfde7209"
config.impl.cls_ "c2core.resolve.Config"
config.views.7bbeacb1082e4810bb1a6643d024496e.0.0 "7bbeacb1082e4810bb1a6643d024496e"
config.views.7bbeacb1082e4810bb1a6643d024496e.0.1 "config"
metadata.config_info.access_port "Port lyssnar på servern"
metadata.config_info.access_network "Nätverksmask för allmänna användare"
metadata.config_info.cloud_name "Namn på AWS regionen"
metadata.config_info.admin_network "Nätverks mask för admin-användare"
Starta plattformen
Med våra AWS referenser på plats, och vår plattform kö vi är redo att gå. Utfärda en c2 plattform start och låt orkestrering börjar:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform start --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 42: 52.849 - INFO - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e/start
2011-06-07 10: 42: 53.816 - INFO - <= 202 Accepted, läsning 0 byte application / json
2011-06-07 10: 42: 53.816 - INFO - (plattform / start) framgång i 0.981219s
För att följa plattformens framsteg, läs hela plattformen representation och grep för status för alla kapslade objekt:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform läst --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pretty | grep status
2011-06-07 10: 43: 06.530 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 43: 07.228 - INFO - <= 200 OK, läsning 22227 byte application / json
2011-06-07 10: 43: 07.451 - INFO - (plattform / läsa) framgång i 0.935643s
tiers.0.status_.value "byggnad"
tiers.0.keypair.status_.detail "nyckelpar skapade"
tiers.0.keypair.status_.value "inbyggd"
tiers.0.sg.status_.detail "regler auktoriserade framgångsrikt"
tiers.0.sg.status_.value "inbyggd"
tiers.1.status_.value "byggnad"
tiers.1.server.status_.detail "väntar på att köra, nu väntar"
tiers.1.server.status_.value "byggnad"
status_.detail "starta driften utlöste"
status_.value "start"
Vi kan se plattformsnivå status börjar. Åter fråga detta kommando ett antal gånger för att "poll" status. Grepping för staten är också användbart för att visa vilka komponenter som för närvarande övergår. När plattformen är klar, bör status ser ut som följer:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform läst --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pretty | grep status
2011-06-07 10: 44: 21.015 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 44: 21.736 - INFO - <= 200 OK, läsning 27129 byte application / json
2011-06-07 10: 44: 21.988 - INFO - (plattform / läsa) framgång i 0.990599s
tiers.0.status_.detail "startade framgångsrikt"
tiers.0.status_.value "löpande"
tiers.0.keypair.status_.detail "nyckelpar skapade"
tiers.0.keypair.status_.value "löpande"
tiers.0.sg.status_.detail "regler auktoriserade framgångsrikt"
tiers.0.sg.status_.value "löpande"
tiers.1.status_.detail "startade framgångsrikt"
tiers.1.status_.value "löpande"
tiers.1.server.status_.detail "lyssnaren redo vid 22 / tcp"
tiers.1.server.status_.value "löpande"
status_.detail "starta driften framgångsrika"
status_.value "löpande"
Notera en förälder-nivå status "kör" med servern lyssnaren klar den 22 / tcp. Vår plattform är klar.
Använda plattformen
Alla plattformar offentliggöra uppgifter om hur de används. De flesta plattformar publicerar en kombination av:
- webbadresser
- värdnamn / Hamn kombinationer
- Inloggningar
- Lösenord
Om vi ​​läser plattformen och grep för publicera vi kan se denna plattform publicerade en enkel SSH url:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform läst --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 pretty | grep publicerar
2011-06-07 10: 51: 30.694 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 51: 31.764 - INFO - <= 200 OK, läsning 27129 byte application / json
2011-06-07 10: 51: 32.038 - INFO - (plattform / läsa) framgång i 1.367026s
tiers.1.server.publish.access_url "ssh: //ubuntu@ec2-50-19-55-84.compute-1.amazonaws.com/"
metadata.publish_info.access_url "URL för åtkomst till plattformen"
Ett vanligt mönster är att plattformarna att publicera:
- Admin URL
- Admin Login
- Admin Password
- Tillgång URL
Stoppa plattformen
När plattformen har stoppats, kommer dess status se ut ungefär så här:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform läst --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pretty | grep status
2011-06-07 10: 57: 51.345 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 57: 52.128 - INFO - <= 200 OK, läsning 27966 byte application / json
2011-06-07 10: 57: 52.424 - INFO - (plattform / läsa) framgång i 1.093576s
tiers.0.status_.detail "slutade framgångsrikt"
tiers.0.status_.value "stoppad"
tiers.0.keypair.status_.detail "nyckelpar skapade"
tiers.0.keypair.status_.value "stoppad"
tiers.0.sg.status_.detail "regler auktoriserade framgångsrikt"
tiers.0.sg.status_.value "stoppad"
tiers.1.status_.detail "slutade framgångsrikt"
tiers.1.status_.value "stoppad"
tiers.1.server.status_.detail "väntar stoppad, för närvarande stoppad"
tiers.1.server.status_.value "stoppad"
status_.detail "stop operation lyckad"
status_.value "stoppad"
Plattformen finns fortfarande i molnet, men det är inte längre ådra dyra datorkostnader (det är dock ådra försumbara lagringskostnader). Du är också slutat ådra C2 plattformsavgifter. Vid denna punkt, kostar ditt plattform effektivt ingenting.
Plattformar kan stoppas och startas utan gräns.
Förstöra plattformen
För att verkligen förstöra alla moln komponenter som ingår i din plattform, måste du utfärda en c2 plattform förstöra och ge _ID av målet plattform:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform förstöra --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 04: 10.667 - INFO - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e/destroy
2011-06-07 11: 04: 11.953 - INFO - <= 202 Accepted, läsning 0 byte application / json
2011-06-07 11: 04: 11.953 - INFO - (plattform / förstöra) framgång i 1.300462s
Radera plattformen
Om du listar plattformarna ser du att den förstörda plattformen fortfarande existerar:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform lista | C2 pretty
2011-06-07 11: 12: 02.771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03.149 - INFO - <= 200 OK, läsning 1577 bytes application / json
2011-06-07 11: 12: 03.150 - INFO - (plattform / lista) framgång i 0.394324s
0.views.7bbeacb1082e4810bb1a6643d024496e.0.0 "7bbeacb1082e4810bb1a6643d024496e"
0.time_.disconnect.date_ "1307466249,487580"
0.time_.stop.date_ "1307465858,607597"
0.time_.start.date_ "1307465019,767619"
0.time_.build.date_ "1307465019,475195"
0.time_.destroy.date_ "1307466249,487347"
0.time_.connect.date_ "1307466240,220381"
0.status_.detail "förstör operationen lyckad"
0.status_.value "förstört"
0.doctype "plattform"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
0.state.running falsk
0.state.transitioning falsk
0.state.built falsk
0.impl.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0.interval_.destroy 9,3936290740966797
0.interval_.stop 33,600441932678223
0.interval_.build 57,54404091835022
0.interval_.start 57,836580991744995
Från intervallet kan man se det tog:
- 58 sekunder för att starta denna plattform
- 33 sekunder för att stoppa det
- 9 sekunder att förstöra den
Du kan alltid starta en förstörd plattform och har det återuppbygga molnkomponenterna igen. Men för att slutföra bort plattformen och dess kapslade dokument, du måste utfärda ett c2 plattform bort:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform radera --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 45.235 - INFO - => DELETE https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 46.474 - INFO - <= 204 nr Innehåll, läsning 0 byte application / json
2011-06-07 11: 15: 46.474 - INFO - (plattform / radera) framgång i 1.252582s
För att bekräfta, kan vi se vår plattform listan nu är tom:
användare @ box: ~ / arbetsyta / c2-shell $ c2 plattform lista
2011-06-07 11: 15: 51.890 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 15: 52.296 - INFO - <= 200 OK, läsa 2 byte av ansökan / json
2011-06-07 11: 15: 52.297 - INFO - (plattform / lista) framgång i 0.423616s
Logga ut
Genom att utfärda ett c2 info kan vi se status för vår session:
användare @ box: ~ / arbetsyta / c2-shell $ c2 info
2011-06-07 11: 17: 11.656 - INFO - => GET https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 12.134 - INFO - <= 200 OK, läsning 4082 bytes application / json
{
& Nbsp; "konto": "c2-opdemand",
& Nbsp; "e": "gabriel@opdemand.com",
& Nbsp; "expires_at": "Fredag ​​10 juni, 2011 08:44",
& Nbsp; "session_id": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12.138 - INFO - (info) framgång i 0.497018s
Logga ut är helt enkelt c2 utloggning:
användare @ box: ~ / arbetsyta / c2-shell $ c2 utloggning
2011-06-07 11: 17: 44.903 - INFO - => DELETE https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 45.330 - INFO - <= 204 nr Innehåll, läsning 0 byte application / json
2011-06-07 11: 17: 45.330 - INFO - (utloggningen) framgång i 0.443405s
användare @ box: ~ / arbetsyta / c2-shell $ c2 info
2011-06-07 11: 17: 49.025 - INFO - (info) framgång i 0.000376s
Om C2
OpDemand s Command & Control Technology (C2) automatiserar distribution och hantering av cloud computing infrastruktur. Med ett gränssnitt så enkelt som "starta, stoppa, klon och förstöra," C2 ger dig kommandot över ditt moln

Krav :.

  • Python

Liknande mjukvara

GSL shell
GSL shell

20 Feb 15

GtkTerm
GtkTerm

20 Feb 15

TFTP Server
TFTP Server

2 Jun 15

ftp-cloudfs
ftp-cloudfs

20 Feb 15

Kommentarer till OpDemand Shell

Kommentarer hittades inte
Kommentar
Slå på bilder!