A OpDemand Shell projekt tartalmazza a parancssori kliens interfész a C2-rendszer. Ezek a python modul része OpDemand Command & Control technológiáját (C2).
Open Source
A C2-shell projekt került sor nyílt meg OpDemand.
C2 Shell Dokumentáció
Mielőtt elkezded
- Szüksége lesz egy aktív C2 venni. Hozzon létre egy ingyenesen https://c2.opdemand.com/
- Utasítások feltételezik OSX vagy Linux (Windows nem vizsgálták, de működnie)
Telepítés
Telepítés a szokásos distutils egyezmény.
sudo python setup.py telepíteni
Configuration
Add hozzá a C2 bejelentkezési e-mail címét, hogy a helyi kliens konfiguráció.
c2 helyi set --email=c2user@opdemand.com
A c2 helyi get megjeleníti az aktuális konfigurációt.
Bejelentkezés
Kiadja a c2 login, amely használja az e-mail címet fentebb beállított és bekéri a jelszót.
user @ box: ~ / munkaterület / c2-shell $ c2 bejelentkezés
Jelszó:
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, olvasás 1822 byte application / JSON
[# JSON sablonok listáját
& Nbsp; {
& Nbsp; # First template
& Nbsp;},
& Nbsp; {
& Nbsp; # második sablon
& Nbsp;}
]
2011-06-07 09: 21: 21.881 - INFO - (template / list) siker 0.524872s
Keresse meg a _id értéke a sablon telepíteni kívánt, és másolja azt a vágólapra.
Hozzon létre egy új platform
Válassza ki a kívánt sablont, és kiadja a c2 sablont terhelést a sablon _id, ami egy friss platform.
user @ box: ~ / munkaterület / c2-shell $ c2 template terhelés --_ 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 Alkotó, olvasás 14850 bájt application / JSON
{
& Nbsp; # Sokkal hosszabb JSON ábrázolása a sablon
}
2011-06-07 09: 42: 38.757 - INFO - (template / terhelés) siker 2.061932s
List platformok
Kiadja a c2 platform listát, hogy a rendelkezésre álló platformok fiókjában.
user @ box: ~ / munkaterület / c2-shell $ c2 platform listája
2011-06-07 09: 46: 48.327 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 09: 46: 48.884 - INFO - <= 200 OK, olvasás 566 byte application / JSON
[
& Nbsp; {
& Nbsp; # Az új platform
& Nbsp;}
]
2011-06-07 09: 46: 48.885 - INFO - (platform / list) siker 0.572228s
Másolja a _id ezen a platformon a vágólapra.
Olvassa el a platform
List műveletek csak azt mutatják, összefoglaló ábrázolása elemek gyűjteménye. Megtekinthetjük a teljes képviseletét a platform (az egyik, amely magában foglalja a beágyazott komponensek) ki kell adnia a c2 platform olvasni, és a _id:
user @ box: ~ / munkaterület / c2-shell $ c2 platform olvasni --_ 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, olvasás 14850 bájt application / JSON
{
& Nbsp; # Full platform képviselet
}
2011-06-07 10: 16: 07.152 - INFO - (platform / olvasni) siker 1.117754s
Együttműködés a JSON válaszok
A fenti platform túl hosszú olvasni. Szerencsére a C2 shell tartalmaz egy beépített JSON prettifier, ami JSON kimeneti bármely C2 shell parancsot sokkal könnyebben olvasható.
Egyszerűen cső minden c2 parancsot a C2 elég:
user @ box: ~ / munkaterület / c2-shell $ c2 template olvasni --_ id = 6c86dfc5ddfe464199021b8dcaf521a2 | C2 elég
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, olvasás 12022 bájt application / JSON
2011-06-07 09: 32: 01.535 - INFO - (template / olvasni) siker 0.904613s
tiers.0.name "Network Tier"
tiers.0.doctype "szint"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Többi prettified JSON
Minden C2 parancsok olvasása szabványos input és írni a szabványos kimenetre. Ez azt jelenti, nyers JSON és prettified JSON is adhatjuk más parancs, ami UNIX-szerű csövek. (Pl grep).
Állítsd be a platform
Először olvassa el a platform és a grep az alapértelmezett konfigurációs információk:
user @ box: ~ / munkaterület / c2-shell $ c2 platform olvasni --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 elég | 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, olvasás 14850 bájt application / JSON
2011-06-07 10: 26: 30.635 - INFO - (platform / olvasni) siker 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 "mi-kelet-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 hallgat a szerver"
metadata.config_info.access_network "Hálózati maszk nyilvános felhasználók számára"
metadata.config_info.cloud_name "neve AWS régióban"
metadata.config_info.admin_network "hálózati maszkot admin felhasználók"
Nézzük korlátozza a hálózati hozzáférést az egyik fogadó - 1.1.1.1/32. Ehhez szükség lesz a változó a access_network és admin_network kulcsokat.
Mivel config egy beágyazott dokumentumot saját _id és _rev, akkor módosítani kell a config dokumentumot közvetlenül. Ehhez követjük a RESTful egyezmény az olvasás a képviselet és a csövek, hogy frissítési műveletet:
user @ box: ~ / munkaterület / c2-shell $ c2 config olvasni --_ id = ceee3724a3674bc096a2a6d2dfde7209 | c2 config frissítés - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10: 35: 39.643 - INFO - olvasás objektumot stdin, ctrl-c megtörni ...
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, olvasás 692 byte application / JSON
2011-06-07 10: 35: 40.574 - INFO - (config / olvasni) siker 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, olvasás 694 byte 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": "mi-kelet-1",
& Nbsp; "doctype": "config",
& Nbsp; "image_id": "AMI-06ad526f",
& Nbsp; "impl": {
& Nbsp; "cls_": "c2core.resolve.Config"
& Nbsp;},
& Nbsp; "nézetek": {
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e": [
& Nbsp; [
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e",
& Nbsp; "config"
& Nbsp;]
& Nbsp;]
& Nbsp;}
}
2011-06-07 10: 35: 41.317 - INFO - (config / update) siker 0.730138s
Olvassa el újra a platform konfiguráció megerősíteni a szülő dokumentum tartalmazza a frissített, beágyazott konfiguráció:
user @ box: ~ / munkaterület / c2-shell $ c2 platform olvasni --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 elég | 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, olvasás 14852 bájt application / JSON
2011-06-07 10: 37: 11.977 - INFO - (platform / olvasni) siker 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 "mi-kelet-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 hallgat a szerver"
metadata.config_info.access_network "Hálózati maszk nyilvános felhasználók számára"
metadata.config_info.cloud_name "neve AWS régióban"
metadata.config_info.admin_network "hálózati maszkot admin felhasználók"
Indítsa el a platform
A mi AWS hitelesítő a helyén, és a platform sorban álltak készen állunk, hogy menjen. Kiadja a c2 platform kezdő és hagyja, hogy a hangszerelés kezdete:
user @ box: ~ / munkaterület / c2-shell $ c2 platform indul --_ 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 Elfogadott, olvasás 0 byte application / JSON
2011-06-07 10: 42: 53.816 - INFO - (platform / start) siker 0.981219s
Követni a platform fejlődését, olvassa el a teljes platform képviseletét és grep a status minden beágyazott objektumok:
user @ box: ~ / munkaterület / c2-shell $ c2 platform olvasni --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 elég | 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, olvasás 22227 bájt application / JSON
2011-06-07 10: 43: 07.451 - INFO - (platform / olvasni) siker 0.935643s
tiers.0.status_.value "épület"
tiers.0.keypair.status_.detail "kulcspár létre"
tiers.0.keypair.status_.value "beépített"
tiers.0.sg.status_.detail "szabályok engedélyezett sikeresen"
tiers.0.sg.status_.value "beépített"
tiers.1.status_.value "épület"
tiers.1.server.status_.detail "vár fut, jelenleg folyamatban van"
tiers.1.server.status_.value "épület"
status_.detail "kezdi meg működését kiváltott"
status_.value "kezdő"
Láthatjuk a platform-szintű állapot kezd. Re-ki ezt a parancsot többször a "poll" státuszt. Grepping az állam is hasznos bemutatására, milyen elem van jelenleg áttéréskor. Miután a platform történik, állapotát a következőképpen nézzen ki:
user @ box: ~ / munkaterület / c2-shell $ c2 platform olvasni --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 elég | 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, olvasás 27.129 byte application / JSON
2011-06-07 10: 44: 21.988 - INFO - (platform / olvasni) siker 0.990599s
tiers.0.status_.detail "sikeresen elindult"
tiers.0.status_.value "fut"
tiers.0.keypair.status_.detail "kulcspár létre"
tiers.0.keypair.status_.value "fut"
tiers.0.sg.status_.detail "szabályok engedélyezett sikeresen"
tiers.0.sg.status_.value "fut"
tiers.1.status_.detail "sikeresen elindult"
tiers.1.status_.value "fut"
tiers.1.server.status_.detail "hallgató kész a 22 / tcp"
tiers.1.server.status_.value "fut"
status_.detail "működés elindítása sikeres"
status_.value "fut"
Megjegyzés szülő-szintű állapotát "fut" a szerver hallgató készen áll a 22 / tcp. A platform kész.
A platform
Minden platformon közzé információkat hogyan használják őket. A legtöbb platformon közzéteszi valamilyen kombinációja:
- URL
- Gazdagépnév / Port kombinációk
- Bejelentkezések
- Jelszavak
Ha elolvassuk a platform és a grep közzé láthatjuk ezen a platformon megjelent egy egyszerű SSH url:
user @ box: ~ / munkaterület / c2-shell $ c2 platform olvasni --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 elég | grep közzé
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, olvasás 27.129 byte application / JSON
2011-06-07 10: 51: 32.038 - INFO - (platform / olvasni) siker 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 eléréséhez a platform"
A közös vonása van a platformok, hogy tegye közzé:
- Admin URL
- Admin Bejelentkezés
- Admin Password
- Access URL
Leállítása platform
Miután a platform leállt, az állapota kinézni:
user @ box: ~ / munkaterület / c2-shell $ c2 platform olvasni --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 elég | 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, olvasás 27966 bájt application / JSON
2011-06-07 10: 57: 52.424 - INFO - (platform / olvasni) siker 1.093576s
tiers.0.status_.detail "sikeresen leállt"
tiers.0.status_.value "megállt"
tiers.0.keypair.status_.detail "kulcspár létre"
tiers.0.keypair.status_.value "megállt"
tiers.0.sg.status_.detail "szabályok engedélyezett sikeresen"
tiers.0.sg.status_.value "megállt"
tiers.1.status_.detail "sikeresen leállt"
tiers.1.status_.value "megállt"
tiers.1.server.status_.detail "vár megállt, jelenleg megállt"
tiers.1.server.status_.value "megállt"
status_.detail "stop működés sikeres"
status_.value "megállt"
A platform még mindig létezik a felhő, de ez már nem terheli drága compute költségeket (ez azonban elhanyagolható felmerülő tárolási költségek). Te már nem is merülne C2 platform díjakat. Ezen a ponton, a platform a költségeknek semmi.
Platformok lehet állítani, és elkezdett korlátozás nélkül.
Elpusztítani a platform
Ahhoz, hogy valóban elpusztítsa az összes felhő, ami része a platform, ki kell adnia a c2 platform megsemmisíti, és a _id platformtól:
user @ box: ~ / munkaterület / c2-shell $ c2 platform elpusztítani --_ 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 Elfogadott, olvasás 0 byte application / JSON
2011-06-07 11: 04: 11.953 - INFO - (platform / elpusztítani) siker 1.300462s
Törölje a platform
Ha sorolja fel a platformok látni fogod, hogy a lerombolt platform továbbra is fennáll:
user @ box: ~ / munkaterület / c2-shell $ c2 platform lista | C2 elég
2011-06-07 11: 12: 02.771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03.149 - INFO - <= 200 OK, olvasás 1577 byte application / JSON
2011-06-07 11: 12: 03.150 - INFO - (platform / list) siker 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 "tönkre működése sikeres"
0.status_.value "megsemmisült"
0.doctype "platform"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
0.state.running false
0.state.transitioning false
0.state.built false
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
A intervallumot látható tartott:
- 58 másodperc kezdeni ezen a platformon
- 33 másodperc megállítani
- 9 másodperc alatt elpusztítani
Bármikor újra indul a megsemmisült platform, és ez újjáépíteni a felhő alkatrészeket újra. Azonban a teljes törölni a platform és a beágyazott dokumentumokat ki kell adnia a c2 platform törli:
user @ box: ~ / munkaterület / c2-shell $ c2 platform törli --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 45.235 - INFO - => Törlés https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 46.474 - INFO - <= 204 No Content, olvasás 0 byte application / JSON
2011-06-07 11: 15: 46.474 - INFO - (platform / törlése) siker 1.252582s
Annak igazolására, megláthatjuk a platform listán most üres:
user @ box: ~ / munkaterület / c2-shell $ c2 platform listája
2011-06-07 11: 15: 51.890 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 15: 52.296 - INFO - <= 200 OK, olvasás 2 byte application / JSON
2011-06-07 11: 15: 52.297 - INFO - (platform / list) siker 0.423616s
Kijelentkezni
Kibocsátásával c2 info látjuk az állapotát ülésünk:
user @ box: ~ / munkaterület / 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, olvasás 4082 byte application / JSON
{
& Nbsp; "számla": "c2-opdemand",
& Nbsp; "email": "gabriel@opdemand.com",
& Nbsp; "expires_at": "péntek, június 10, 2011 8:44",
& Nbsp; "session_id": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12.138 - INFO - (info) siker 0.497018s
Kijelentkezni, egyszerűen c2 logout:
user @ box: ~ / munkaterület / c2-shell $ c2 logout
2011-06-07 11: 17: 44.903 - INFO - => Törlés https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 45.330 - INFO - <= 204 No Content, olvasás 0 byte application / JSON
2011-06-07 11: 17: 45.330 - INFO - (logout) siker 0.443405s
user @ box: ~ / munkaterület / c2-shell $ c2 info
2011-06-07 11: 17: 49.025 - INFO - (info) siker 0.000376s
A C2
OpDemand Command & Control Technology (C2) automatizálja a telepítése és kezelése cloud computing infrastruktúrát. Egy felület egyszerű, mint "start, stop, klón és elpusztítani," C2 ad át az irányítást a felhő.
követelmények :
- Python
Hozzászólás nem található