Maraming mga gumagamit ang hindi nakakaalam na sa pamamagitan ng pagpuno ng isang login at password kapag nagrerehistro o nag-log in sa isang saradong mapagkukunan ng Internet at pagpindot sa ENTER, ang data na ito ay madaling maharang. Kadalasan ay ipinapadala ang mga ito sa network sa isang hindi secure na anyo. Samakatuwid, kung ang site na sinusubukan mong mag-log in ay gumagamit ng HTTP protocol, napakadaling makuha ang trapikong ito, pag-aralan ito gamit ang Wireshark, at pagkatapos ay gumamit ng mga espesyal na filter at programa upang mahanap at i-decrypt ang password.
Ang pinakamagandang lugar upang maharang ang mga password ay ang core ng network, kung saan ang trapiko ng lahat ng mga user ay napupunta sa mga saradong mapagkukunan (halimbawa, mail) o sa harap ng router upang ma-access ang Internet, kapag nagrerehistro sa mga panlabas na mapagkukunan. Nag-set up kami ng salamin at handa na kaming makaramdam na parang isang hacker.
Hakbang 1. I-install at ilunsad ang Wireshark upang makuha ang trapiko
Minsan, upang gawin ito, sapat na upang piliin lamang ang interface kung saan plano naming makuha ang trapiko at i-click ang Start button. Sa aming kaso, kami ay kumukuha sa isang wireless network.
Nagsimula na ang pagkuha ng trapiko.
Hakbang 2. Pag-filter ng nakuhang POST na trapiko
Binuksan namin ang browser at sinusubukang mag-log in sa ilang mapagkukunan gamit ang isang username at password. Kapag nakumpleto na ang proseso ng awtorisasyon at nabuksan ang site, hihinto kami sa pagkuha ng trapiko sa Wireshark. Susunod, buksan ang protocol analyzer at tingnan malaking bilang mga pakete. Sa puntong ito na ang karamihan sa mga propesyonal sa IT ay sumuko dahil hindi nila alam kung ano ang susunod na gagawin. Ngunit alam namin at interesado kami sa mga partikular na pakete na naglalaman ng POST data na nabuo sa aming lokal na makina kapag pinupunan ang isang form sa screen at ipinadala sa malayong server kapag na-click mo ang button na “Login” o “Authorization” sa browser.
Nagpasok kami ng isang espesyal na filter sa window upang ipakita ang mga nakuhang packet: http.kahilingan.paraan == "POST"
At nakikita namin, sa halip na libu-libong mga pakete, isa lamang ang may data na hinahanap namin.
Hakbang 3. Hanapin ang login at password ng user
Mabilis na i-right-click at piliin ang item mula sa menu Sundin ang TCP Steam
Pagkatapos nito, lilitaw ang teksto sa isang bagong window na nagpapanumbalik ng mga nilalaman ng pahina sa code. Hanapin natin ang mga patlang na "password" at "user", na tumutugma sa password at username. Sa ilang mga kaso, ang parehong mga patlang ay madaling basahin at hindi kahit na naka-encrypt, ngunit kung sinusubukan naming makuha ang trapiko kapag nag-access sa mga kilalang mapagkukunan tulad ng Mail.ru, Facebook, Vkontakte, atbp., kung gayon ang password ay mai-encrypt:
HTTP/1.1 302 Natagpuan
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Set-Cookie: password= ; expires=Huwe, 07-Nob-2024 23:52:21 GMT; landas=/
Lokasyon: login.php
Haba ng Nilalaman: 0
Koneksyon: malapit
Uri ng Nilalaman: text/html; charset=UTF-8
Kaya, sa aming kaso:
Username: networkguru
Password:
Hakbang 4. Tukuyin ang uri ng pag-encode para i-decrypt ang password
Halimbawa, pumunta sa website na http://www.onlinehashcrack.com/hash-identification.php#res at ipasok ang aming password sa window ng pagkakakilanlan. Binigyan ako ng listahan ng mga protocol sa pag-encode ayon sa priyoridad:
Hakbang 5. Pag-decrypting ng password ng user
Sa yugtong ito maaari naming gamitin ang hashcat utility:
~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt
Sa output nakatanggap kami ng isang na-decrypt na password: simplepassword
Kaya, sa tulong ng Wireshark hindi lamang namin malulutas ang mga problema sa pagpapatakbo ng mga application at serbisyo, ngunit subukan din ang ating sarili bilang isang hacker, na humahadlang sa mga password na ipinasok ng mga user sa mga web form. Maaari mo ring malaman ang mga password para sa mga mailbox gumagamit ng mga simpleng filter upang ipakita:
- Ang POP protocol at filter ay ganito ang hitsura: pop.request.command == "USER" || pop.request.command == "PASS"
- Ang IMAP protocol at filter ay magiging: Ang imap.request ay naglalaman ng "login"
- Ang protocol ay SMTP at kakailanganin mong ipasok ang sumusunod na filter: smtp.req.command == "AUTH"
at mas seryosong mga utility para sa pag-decryption ng encoding protocol.
Hakbang 6: Paano kung ang trapiko ay naka-encrypt at gumagamit ng HTTPS?
Mayroong ilang mga pagpipilian upang sagutin ang tanong na ito.
Pagpipilian 1. Kumonekta kapag nasira ang koneksyon sa pagitan ng user at ng server at makuha ang trapiko sa sandaling maitatag ang koneksyon (SSL Handshake). Kapag naitatag ang isang koneksyon, maaaring ma-intercept ang session key.
Opsyon 2: Maaari mong i-decrypt ang trapiko ng HTTPS gamit ang session key log file na naitala ng Firefox o Chrome. Upang gawin ito, dapat na i-configure ang browser upang isulat ang mga encryption key na ito sa isang log file (halimbawang batay sa FireFox) at dapat mong matanggap ang log file na iyon. Mahalaga, kailangan mong nakawin ang session key file mula sa hard drive isa pang user (na ilegal). Kaya, pagkatapos ay kunin ang trapiko at gamitin ang resultang key upang i-decrypt ito.
Paglilinaw. Pinag-uusapan natin ang web browser ng isang tao na ang password ay sinusubukan nilang nakawin. Kung ang ibig naming sabihin ay i-decrypt ang sarili naming trapiko sa HTTPS at gusto naming magsanay, gagana ang diskarteng ito. Kung sinusubukan mong i-decrypt ang trapiko ng HTTPS ng ibang mga user nang walang access sa kanilang mga computer, hindi ito gagana - iyon ay parehong pag-encrypt at privacy.
Pagkatapos matanggap ang mga susi ayon sa opsyon 1 o 2, kailangan mong irehistro ang mga ito sa WireShark:
- Pumunta sa menu na I-edit - Mga Kagustuhan - Mga Protocol - SSL.
- Itakda ang flag na "I-reassemble ang mga SSL record na sumasaklaw sa maraming TCP segment."
- “Listahan ng mga RSA key” at i-click ang I-edit.
- Ipasok ang data sa lahat ng mga patlang at isulat ang landas sa file gamit ang susi
Maaaring i-decrypt ng WireShark ang mga packet na naka-encrypt gamit ang RSA algorithm. Kung gagamitin ang mga algorithm ng DHE/ECDHE, FS, ECC, hindi tayo matutulungan ng sniffer.
Opsyon 3. Makakuha ng access sa web server na ginagamit ng user at kunin ang key. Ngunit ito ay isang mas mahirap na gawain. Sa mga corporate network, para sa layunin ng pag-debug ng mga application o pag-filter ng nilalaman, ang opsyong ito ay ipinapatupad sa legal na batayan, ngunit hindi para sa layunin ng pagharang ng mga password ng user.
BONUS
VIDEO: Wireshark Packet Sniffing Username, Password, at Web Page
Ang mga gumagamit ng Internet ay napakawalang-ingat na ang pagkawala ng kumpidensyal na data ay kasingdali ng paghihimay ng mga peras. Ang publikasyong 42.tut ay nagsagawa ng eksperimento upang ipakita kung gaano karaming “butas” ang nasa publiko Mga Wi-Fi network. Ang konklusyon ay nakakabigo: sinumang walang espesyal na kasanayan at kaalaman ay maaaring lumikha ng isang kumpletong dossier tungkol sa isang tao na gumagamit lamang ng isang bukas na wireless network.
Nag-install kami ng ilang application para sa eksperimento. Nag-iiba sila sa pag-andar, ngunit ang kanilang kakanyahan ay pareho - upang kolektahin ang lahat ng bagay na dumadaan sa network kung saan nakakonekta ang device. Wala sa mga programa ang nagpoposisyon sa kanilang sarili bilang "pirated", "hacker" o ilegal - maaari silang ma-download online nang walang anumang problema. Isinagawa ang eksperimento sa isang shopping center na may libreng Wi-Fi.
pagharang
Kumonekta kami sa Wi-Fi: walang password, ang pangalan ng network ay naglalaman ng salitang "libre". Nagsisimula kami sa pag-scan, ang isa sa mga programa ay agad na nakahanap ng 15 na koneksyon sa network. Para sa lahat, makikita mo ang IP address, MAC address, para sa ilan - ang pangalan ng tagagawa ng device: Sony, Samsung, Apple, LG, HTC...
Nahanap namin ang laptop na "biktima" sa mga device. Kumonekta kami dito - ang data na dumadaan sa network ay nagsisimulang lumitaw sa screen. Ang lahat ng impormasyon ay nakabalangkas ayon sa oras;
Pagkakakilanlan ng gumagamit
Patuloy kaming nanonood. Ang isang online na laro ay malinaw na nagsimula sa laptop ng kanyang kasosyo: ang mga utos ng programa ay patuloy na ipinapadala sa network, ang impormasyon tungkol sa sitwasyon sa larangan ng digmaan ay natatanggap. Maaari mong makita ang mga palayaw ng iyong mga kalaban, ang kanilang mga antas ng laro at marami pang iba.
Dumating ang isang mensahe mula sa "VKontakte". Sa isa sa mga detalyadong detalye ng mensahe, nakita namin na ang user ID ay makikita sa bawat isa sa kanila. Kung i-paste mo ito sa browser, magbubukas ang account ng taong nakatanggap ng mensahe.
Ang "biktima" ay sa oras na ito ay nagsusulat ng tugon sa mensahe, at malinaw na walang ideya na kami ay nakatitig sa mga larawan sa kanyang account nang buong lakas. Ang isa sa mga application ng social network ay nagbibigay ng isang senyas - maaari naming pakinggan ang tunog na ito sa player.
Mga password at mensahe
Ang mga larawan at tunog ay hindi lahat na maaaring "ilipat" sa available na Wi-Fi. Halimbawa, ang isa sa mga programa ay may hiwalay na tab upang subaybayan ang mga sulat sa mga social network at instant messenger. Ang mga mensahe ay decrypted at pinagsunod-sunod ayon sa oras ng pagpapadala.
Ang pagpapakita ng sulat ng ibang tao ay higit sa mabuti at masama. Ngunit ito ay gumagana. Bilang isang paglalarawan, narito ang bahagi ng diyalogo ng may-akda ng teksto, na nakuha ng computer sa pagsubaybay mula sa "biktima" na aparato.
Ang isa pang programa ay hiwalay na "nag-iimbak" ng lahat ng cookies at impormasyon ng user, kabilang ang mga password. Sa kabutihang palad, sa naka-encrypt na form, ngunit agad itong nag-aalok upang mag-install ng isang utility na magde-decrypt sa kanila.
Mga konklusyon
Halos anumang impormasyon ay maaaring mawala sa Wi-Fi. Maraming mga pampublikong network ay hindi nagbibigay ng anumang proteksyon, at kung minsan kahit isang password. Nangangahulugan ito na maaaring harangin ng sinuman ang trapiko ng mga kasamahan, kaibigan o estranghero.
Ang pinaka-maaasahang paraan sa sitwasyong ito ay isa: huwag magpadala ng anuman mahalagang impormasyon sa pamamagitan ng mga pampublikong network. Halimbawa, huwag magpadala ng mga numero ng telepono at password sa mga mensahe at huwag magbayad gamit ang card ng pagbabayad sa labas ng bahay. Ang panganib ng pagkawala ng personal na data ay napakataas.