OpDemand Shell layihə C2 sistemi command-line müştəri interface ehtiva edir. Bu python modulları OpDemand əmri & Control texnologiyası (C2) bir hissəsidir.
Open Source
c2-shell layihəsi OpDemand açıq mənbə olmuşdur.
C2 Shell Documentation
Başlamadan əvvəl
- Siz fəal C2 hesabı lazımdır. Https://c2.opdemand.com/ pulsuz bir yaradın
- Təlimatlar OSX və ya Linux güman (Windows test edilməmişdir, lakin işləməlidir)
Quraşdırma
Quraşdırma standart distutils konvensiya istifadə edir.
sudo python bərpa setup.py
Konfiqurasiya
Yerli müştəri konfiqurasiya üçün C2 giriş e-mail əlavə edin.
c2 yerli set --email=c2user@opdemand.com
A c2 yerli get cari konfiqurasiya göstərilir.
Giriş
Yuxarıda konfiqurasiya e-mail ünvanı istifadə və parol üçün təklif edəcək c2 giriş vermək.
istifadəçi @ box: ~ / iş / c2-shell $ c2 giriş
Parol:
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, proqram 1822 bytes oxu / json
Şablonları [# JSON siyahısı
& Nbsp; {
& Nbsp; # First şablon
& Nbsp;}
& Nbsp; {
& Nbsp; # Second şablon
& Nbsp;}
]
2011-06-07 09: 21: 21.881 - INFO - 0.524872s olan (şablon / list) uğur
Siz dağıtmaq istəyən şablon _id dəyər tapmaq və sizin panoya kopyalayın.
Yeni Platform yarat
İstədiyiniz şablon seçin və təzə platforma yaradacaq şablon _id bir c2 şablon yük vermək.
istifadəçi @ box: ~ / iş / c2-shell $ c2 şablon yük --_ 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 yaradılıb, proqram 14850 bytes oxu / json
{
& Nbsp; # şablon çox uzun JSON nümayəndəliyi
}
2011-06-07 09: 42: 38.757 - INFO - 2.061932s olan (şablon / load) uğur
Siyahı Tools
Hesabınıza mövcud platformaları görmək üçün c2 platform siyahısı Məsələ.
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform siyahısı
2011-06-07 09: 46: 48.327 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 09: 46: 48.884 - INFO - <= 200 OK, proqram 566 bytes oxu / json
[
& Nbsp; {
& Nbsp; # Yeni platforma
& Nbsp;}
]
2011-06-07 09: 46: 48.885 - INFO - 0.572228s olan (platforma / list) uğur
Sizin panoya bu platformanın _id kopyalayın.
Platforma ətraflı
Siyahı əməliyyatları yalnız bir kolleksiyamda olmayan əşyalarla xülasə nümayəndəlikləri göstərir. Siz oxumaq c2 platforma vermək və _id təmin etməlidir (onun nested komponentlər daxildir bir) bir platforma tam təmsil keçirmək üçün:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform oxumaq --_ 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, proqram 14850 bytes oxu / json
{
& Nbsp; # Full platform təmsil
}
2011-06-07 10: 16: 07.152 - INFO - 1.117754s olan (platform / oxu) uğur
JSON cavab İş
Yuxarıda platforma oxumaq üçün çox uzun. Xoşbəxtlikdən C2 shell oxumaq üçün daha asan hər hansı bir C2 shell skript JSON çıxış edir ki, bir inteqrasiya JSON prettifier daxildir.
Sadəcə boru hər hansı bir c2 komanda olduqca C2:
istifadəçi @ box: ~ / iş / c2-shell $ c2 şablon oxumaq --_ id = 6c86dfc5ddfe464199021b8dcaf521a2 | olduqca C2
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, proqram 12022 bytes oxu / json
2011-06-07 09: 32: 01.535 - INFO - 0.904613s olan (şablon / oxu) uğur
tiers.0.name "Şəbəkə Tier"
tiers.0.doctype "II dərəcəli"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Prettified JSON qalan
Bütün C2 əmrləri standart giriş oxumaq və standart çıxış yazmaq. Bu xam JSON və prettified JSON UNİX-style borular istifadə hər hansı digər komanda kəməri oluna bilər. (Məsələn grep).
Platforma konfiqurasiya
İlk default config məlumat üçün platforma və grep oxumaq:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform oxumaq --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 olduqca | 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, proqram 14850 bytes oxu / json
2011-06-07 10: 26: 30.635 - INFO - 0.821403s olan (platform / oxu) uğur
config.access_network "0.0.0.0/0"
"ami-06ad526f" config.image_id
config.doctype "config"
config._rev "1-38d720a0975e4d377ccbfd3cb7864185"
config.access_port "22"
config.cloud_name "ABŞ-şərq-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 server dinləmək"
metadata.config_info.access_network "Dövlət istifadəçilər üçün Network maska"
metadata.config_info.cloud_name "AWS rayonunun adı"
metadata.config_info.admin_network "admin istifadəçilər üçün Network maska"
1.1.1.1/32 - biri ana bütün şəbəkə girişi məhdudlaşdırmaq edək. Bu access_network və admin_network düymələri dəyişən tələb edəcək.
Config öz _id və _rev ilə iç-içə sənəd olduğundan, biz birbaşa konfiqurasiya sənəd dəyişdirmək lazımdır. Bunu etmək üçün, biz təmsil oxu və yeniləmə əməliyyatı üçün kəmər rahat konvensiya edin:
istifadəçi @ box: ~ / iş / c2-shell $ c2 config oxumaq --_ id = ceee3724a3674bc096a2a6d2dfde7209 | c2 config yeniləmə - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10: 35: 39.643 - INFO - stdin obyekt oxu, ctrl-c qırmaq üçün ...
2011-06-07 10: 35: 39.661 qulaq - INFO - => GET https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10: 35: 40.573 - INFO - <= 200 OK, proqram 692 bytes oxu / json
2011-06-07 10: 35: 40.574 - INFO - 0.931527s olan (config / oxu) uğur
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, proqram 694 bytes oxu / 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": "ABŞ-şərq-1",
& Nbsp; "doctype": "config",
& Nbsp; "image_id": "ami-06ad526f",
& Nbsp; "impl" {
& Nbsp; "cls_": "c2core.resolve.Config"
& Nbsp;}
& Nbsp; "baxış" {
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e" [
& Nbsp; [
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e",
& Nbsp; "config"
& Nbsp;]
& Nbsp;]
& Nbsp;}
}
2011-06-07 10: 35: 41.317 - INFO - 0.730138s olan (config / update) uğur
Valideyn sənəd yenilənir nested konfiqurasiya daxildir təsdiqləmək üçün platforma konfiqurasiya yenidən oxumaq:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform oxumaq --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 olduqca | 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, proqram 14852 bytes oxu / json
2011-06-07 10: 37: 11.977 - INFO - 0.862029s olan (platform / oxu) uğur
config.access_network "1.1.1.1/32"
"ami-06ad526f" config.image_id
config.doctype "config"
config._rev "2-6a1cac4a1851fead776d4184e1218028"
config.access_port "22"
config.cloud_name "ABŞ-şərq-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 server dinləmək"
metadata.config_info.access_network "Dövlət istifadəçilər üçün Network maska"
metadata.config_info.cloud_name "AWS rayonunun adı"
metadata.config_info.admin_network "admin istifadəçilər üçün Network maska"
Platforma başlamaq
Sıraya yerdə bizim AWS etimadnaməsini və platforma ilə getmək üçün hazırıq. Bir c2 platform start vermək və orkestrovka başlasın:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platforma başlamaq --_ 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 Hesablanıb, proqram 0 bytes oxu / json
2011-06-07 10: 42: 53.816 - INFO - 0.981219s olan (platform / start) uğur
Platformanın tərəqqi izləmək üçün bütün iç-içə obyektlərin statusu tam platforma nümayəndəlik və grep oxumaq:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform oxumaq --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 olduqca | grep statusu
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, proqram 22227 bytes oxu / json
2011-06-07 10: 43: 07.451 - INFO - 0.935643s olan (platform / oxu) uğur
tiers.0.status_.value "bina"
tiers.0.keypair.status_.detail "düyməsini cüt yaratdı"
tiers.0.keypair.status_.value "inşa"
"qaydaları uğurla səlahiyyətli" tiers.0.sg.status_.detail
tiers.0.sg.status_.value "inşa"
tiers.1.status_.value "bina"
tiers.1.server.status_.detail "Hal-hazırda çalışan gözləyən gözləyir"
tiers.1.server.status_.value "bina"
status_.detail "əməliyyat səbəb başlamaq"
status_.value "başlanğıc"
Biz platform səviyyəli status başlayır bilərsiniz. Re-məsələ bu komanda üçün "poll" statusu bir neçə dəfə. Dövlət grepping də komponentləri hazırda keçid ki, sərgilədiklərini üçün faydalıdır. Platform edilir sonra aşağıdakı kimi status baxmaq lazımdır:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform oxumaq --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 olduqca | grep statusu
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, proqram 27129 bytes oxu / json
2011-06-07 10: 44: 21.988 - INFO - 0.990599s olan (platform / oxu) uğur
tiers.0.status_.detail "uğurla başladı"
tiers.0.status_.value "çalışan"
tiers.0.keypair.status_.detail "düyməsini cüt yaratdı"
tiers.0.keypair.status_.value "çalışan"
"qaydaları uğurla səlahiyyətli" tiers.0.sg.status_.detail
tiers.0.sg.status_.value "çalışan"
tiers.1.status_.detail "uğurla başladı"
tiers.1.status_.value "çalışan"
tiers.1.server.status_.detail "22 / TCP hazır dinləyici"
tiers.1.server.status_.value "çalışan"
status_.detail "uğurlu əməliyyat başlamaq"
status_.value "çalışan"
22 / TCP hazır server dinləyici ilə "çalışan" bir valideyn səviyyədə statusu unutmayın. Bizim platforma hazırdır.
Platform istifadə edərək,
Bütün platformaları onlar istifadə olunur necə haqqında məlumat dərc edir. Ən platformalar bəzi birləşməsi dərc:
- URL'leri
- Hostname / Port birləşməsi
- Girişler
- Parollar
Biz platforma və grep oxumaq bu platforma sadə SSH url dərc edə bilərsiniz nəşr:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform oxumaq --_ id = 7bbeacb1082e4810bb1a6643d024496e | olduqca C2 | grep dərc
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, proqram 27129 bytes oxu / json
2011-06-07 10: 51: 32.038 - INFO - 1.367026s olan (platform / oxu) uğur
tiers.1.server.publish.access_url "ssh: //ubuntu@ec2-50-19-55-84.compute-1.amazonaws.com/"
metadata.publish_info.access_url "platforması daxil olmaq üçün URL"
Platformalar dərc üçün ümumi nümunəsidir:
- Admin URL
- Admin Daxil ol
- Admin Password
- Access URL
Platforma dayandırılması
Platform dayandırdı sonra, onun statusu bu kimi bir şey görünür:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform oxumaq --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 olduqca | grep statusu
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, proqram 27966 bytes oxu / json
2011-06-07 10: 57: 52.424 - INFO - 1.093576s olan (platform / oxu) uğur
tiers.0.status_.detail "uğurla dayandırılıb"
tiers.0.status_.value "dayandırılıb"
tiers.0.keypair.status_.detail "düyməsini cüt yaratdı"
tiers.0.keypair.status_.value "dayandırılıb"
"qaydaları uğurla səlahiyyətli" tiers.0.sg.status_.detail
tiers.0.sg.status_.value "dayandırılıb"
tiers.1.status_.detail "uğurla dayandırılıb"
tiers.1.status_.value "dayandırılıb"
tiers.1.server.status_.detail "dayandı gözləyir, hazırda dayandırılıb"
tiers.1.server.status_.value "dayandırılıb"
status_.detail "stop əməliyyatı müvəffəqiyyətli"
status_.value "dayandırılıb"
platform hələ bulud var, lakin o, (lakin cüzi saxlama xərcləri tətbiq, bu) bahalı compute xərcləri artıq. Siz həmçinin artıq C2 platform haqları tətbiq edirik. Bu nöqtədə, sizin platforma səmərəli heç bir şey edir.
Tools dayandırılıb və limit olmadan açılmış ola bilər.
Platforma məhv
Həqiqətən, sizin platforma daxil bulud komponentləri bütün məhv etmək üçün, bir c2 platforma məhv və hədəf platforma _id təmin qəbul etməlidir:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platforma məhv --_ 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 Hesablanıb, proqram 0 bytes oxu / json
2011-06-07 11: 04: 11.953 - INFO - 1.300462s olan (platform / yox) uğur
Platforma sil
Siz platformaları siyahısı Əgər məhv platforma hələ də mövcuddur ki, görürsünüz:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform siyahısı | olduqca C2
2011-06-07 11: 12: 02.771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03.149 - INFO - <= 200 OK, proqram 1577 bytes oxu / json
2011-06-07 11: 12: 03.150 - INFO - 0.394324s olan (platforma / list) uğur
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 "uğurlu əməliyyat məhv"
0.status_.value "məhv"
0.doctype "platforma"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
Yalan 0.state.running
Yalan 0.state.transitioning
Yalan 0.state.built
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
Interval siz aldı bilərsiniz:
- 58 saniyə bu platforma başlamaq üçün
- 33 saniyə onu dayandırmaq üçün
- 9 saniyə onu məhv etmək üçün
Siz həmişə bir məhv platforma yenidən başlaya bilərsiniz və yenidən bulud komponentləri bərpa etdik. Lakin silmək c2 platforma qəbul etməlidir, platforma və nested sənədləri silmək başa çatdırmaq üçün:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform silmək --_ 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 No məzmun, proqram 0 bytes oxu / json
2011-06-07 11: 15: 46.474 - INFO - 1.252582s olan (platform / silin) uğur
Təsdiq etmək üçün, biz platform siyahısı indi boş olduğunu görə bilərsiniz:
istifadəçi @ box: ~ / iş / c2-shell $ c2 platform siyahısı
2011-06-07 11: 15: 51.890 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 15: 52.296 - INFO - <= 200 OK, proqram 2 bytes oxu / json
2011-06-07 11: 15: 52.297 - INFO - 0.423616s olan (platforma / list) uğur
Giriş
Bir c2 info verilməsi ilə biz sessiyasının statusu bilərsiniz:
istifadəçi @ box: ~ / iş / 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, proqram 4082 bytes oxu / json
{
& Nbsp; "hesab": "c2-opdemand",
& Nbsp; "e-poçt": "gabriel@opdemand.com",
& Nbsp; "expires_at": "Cümə, 2011 08:44 AM 10 iyun",
& Nbsp; "session_ID": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12,138 - INFO - 0.497018s olan (info) uğur
Çıkıyor sadəcə c2 Çıxış edir:
istifadəçi @ box: ~ / iş / c2-shell $ c2 Çıxış
2011-06-07 11: 17: 44.903 - INFO - => DELETE https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 45.330 - INFO - <= 204 No məzmun, proqram 0 bytes oxu / json
2011-06-07 11: 17: 45.330 - INFO - 0.443405s olan (Çıxış) uğur
istifadəçi @ box: ~ / iş / c2-shell $ c2 info
2011-06-07 11: 17: 49.025 - INFO - 0.000376s olan (info) uğur
C2 haqqında
OpDemand əmri & Control Technology (C2) cloud computing infrastruktur yerləşdirilməsi və idarə avtomatik. "Başlamaq dayandırmaq, klon və məhv" C2 sizin bulud əmr verir kimi sadə bir interfeys ilə
tələblər .
- Python
Şərhlər tapılmadı