Just connecting to the service, a 64bit cpu registers dump is received, and so does several binary code as you can see:
The registers represent an initial cpu state, and we have to reply with the registers result of the binary code execution. This must be automated becouse of the 10 seconds server socket timeout.
The exploit is quite simple, we have to set the cpu registers to this values, execute the code and get resulting registers.
In python we created two structures for the initial state and the ending state.
finalRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
We inject at the beginning several movs for setting the initial state:
for r in cpuRegs.keys():
code.append('mov %s, %s' % (r, cpuRegs[r]))
The 64bit compilation of the movs and the binary code, but changing the last ret instruction by a sigtrap "int 3"
We compile with nasm in this way:
os.popen('nasm -f elf64 code.asm')
os.popen('ld -o code code.o ')
And use GDB to execute the code until the sigtrap, and then get the registers
fd = os.popen("gdb code -ex 'r' -ex 'i r' -ex 'quit'",'r')
for l in fd.readlines():
for x in finalRegs.keys():
...
We just parse the registers and send the to the server in the same format, and got the key.
The code:
from libcookie import *
from asm import *
import os
import sys
host = 'catwestern_631d7907670909fc4df2defc13f2057c.quals.shallweplayaga.me'
port = 9999
cpuRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
finalRegs = {'rax':'','rbx':'','rcx':'','rdx':'','rsi':'','rdi':'','r8':'','r9':'','r10':'','r11':'','r12':'','r13':'','r14':'','r15':''}
fregs = 15
s = Sock(TCP)
s.timeout = 999
s.connect(host,port)
data = s.readUntil('bytes:')
#data = s.read(sz)
#data = s.readAll()
sz = 0
for r in data.split('\n'):
for rk in cpuRegs.keys():
if r.startswith(rk):
cpuRegs[rk] = r.split('=')[1]
if 'bytes' in r:
sz = int(r.split(' ')[3])
binary = data[-sz:]
code = []
print '[',binary,']'
print 'given size:',sz,'bin size:',len(binary)
print cpuRegs
for r in cpuRegs.keys():
code.append('mov %s, %s' % (r, cpuRegs[r]))
#print code
fd = open('code.asm','w')
fd.write('\n'.join(code)+'\n')
fd.close()
Capstone().dump('x86','64',binary,'code.asm')
print 'Compilando ...'
os.popen('nasm -f elf64 code.asm')
os.popen('ld -o code code.o ')
print 'Ejecutando ...'
fd = os.popen("gdb code -ex 'r' -ex 'i r' -ex 'quit'",'r')
for l in fd.readlines():
for x in finalRegs.keys():
if x in l:
l = l.replace('\t',' ')
try:
i = 12
spl = l.split(' ')
if spl[i] == '':
i+=1
print 'reg: ',x
finalRegs[x] = l.split(' ')[i].split('\t')[0]
except:
print 'err: '+l
fregs -= 1
if fregs == 0:
#print 'sending regs ...'
#print finalRegs
buff = []
for k in finalRegs.keys():
buff.append('%s=%s' % (k,finalRegs[k]))
print '\n'.join(buff)+'\n'
print s.readAll()
s.write('\n'.join(buff)+'\n\n\n')
print 'waiting flag ....'
print s.readAll()
print '----- yeah? -----'
s.close()
fd.close()
s.close()
More info
- Pentest Tools Open Source
- Hacking App
- Hacking Tools
- Hacker Tools
- Hacker Tools Windows
- Hacker Tools 2019
- Wifi Hacker Tools For Windows
- What Are Hacking Tools
- Hacks And Tools
- Hacker Tools Windows
- Hack And Tools
- Pentest Tools Download
- Hacking Tools For Windows
- New Hacker Tools
- Hacking Tools Windows 10
- Pentest Tools Android
- Hack Tools Download
- Hack Tools Download
- Pentest Tools Find Subdomains
- Hacker Tools Free Download
- Android Hack Tools Github
- Hack Tools For Ubuntu
- Hacker Tools Mac
- Nsa Hacker Tools
- Hacking Tools Usb
- Wifi Hacker Tools For Windows
- Tools 4 Hack
- Hacker Tools Apk Download
- Hacking Tools And Software
- Hack Tools Mac
- Tools For Hacker
- Bluetooth Hacking Tools Kali
- Hacking Tools
- Hak5 Tools
- Hack Tool Apk
- Hacking Tools For Mac
- Hacking Tools For Games
- Pentest Tools For Android
- Pentest Tools Online
- Pentest Tools Website
- Pentest Tools Alternative
- Hacker Tools Windows
- Hack Tool Apk
- Hak5 Tools
- Kik Hack Tools
- Pentest Tools Linux
- New Hacker Tools
- Pentest Tools Url Fuzzer
- Nsa Hacker Tools
- Hackrf Tools
- Hacking Tools For Kali Linux
- Nsa Hack Tools Download
- Hacker Tool Kit
- Hacker Security Tools
- Hacker Tools 2019
- Hacking Tools Mac
- How To Make Hacking Tools
- Hacker Tools 2020
- Hack Tools 2019
- Easy Hack Tools
- Hacker Tools Online
- Hacking Tools For Windows 7
- Hacking Tools For Kali Linux
- Pentest Tools Github
- Hacker Tools For Windows
- Hack Tools For Games
- Hacking Apps
- Github Hacking Tools
- Hacker Tools Apk
- Hacker Tools List
- Hackers Toolbox
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Url Fuzzer
- Android Hack Tools Github
- Pentest Tools Github
- Hacking Tools 2019
- How To Make Hacking Tools
- What Is Hacking Tools
- Hacking Tools Mac
- Hack Tools Pc
- Hacker Tools Github
- Hacking Tools For Mac
- Hack Tools Github
- Tools Used For Hacking
- Pentest Tools Port Scanner
- Hacking Tools Windows 10
- Hacker Tools 2019
- Pentest Tools Nmap
- New Hacker Tools
- Hacker Tools
- Hacker Tools For Pc
- Pentest Tools Port Scanner
- What Is Hacking Tools
- Hacking Tools For Windows 7
- Hacker Tools Mac
- Hack Tool Apk No Root
- Pentest Tools
- Pentest Tools Bluekeep
- Hacker Tools Mac
- Underground Hacker Sites
- Pentest Tools Url Fuzzer
- Hacker Tools Free
- Hack Tool Apk
- Hack And Tools
- Hacker Tools For Windows
- Tools Used For Hacking
- Hacker Tools List
- Hacking Tools Free Download
- Pentest Tools Windows
- Hacker
- Hacker Tools Apk Download
- Hack And Tools
- Pentest Tools Find Subdomains
- Hacker Tools 2019
- Ethical Hacker Tools
- Hacker Tools Online
- Hacking Tools Software
- Hack App
- Pentest Automation Tools
- Tools 4 Hack
- Hacking Tools For Beginners
- Hack Tools For Pc
- Hacking Tools 2019
- Hacking Tools Name
- Tools 4 Hack
- Hacking Tools Usb
- Hacking Tools Kit
- Hack Tools Github
- Hacker Search Tools
- Pentest Tools Url Fuzzer
- Hacking Apps
- How To Hack
- Hacking Tools 2020
- Hacking Tools Download
- Underground Hacker Sites
- Pentest Tools Tcp Port Scanner
- Black Hat Hacker Tools
- Hacking Tools Download
- Hackrf Tools
- How To Make Hacking Tools
- Hack Tools Online
- Pentest Tools Open Source
- Hack Tools For Pc
- Android Hack Tools Github
- Pentest Tools For Android
- Hacking Apps
- Underground Hacker Sites
- Hacking Tools Github
- Pentest Tools Alternative
- Hacking Tools Online
- Hacker Tools Linux
- Hacker Search Tools
- Hacking Tools Download
- Hacking Tools Download
- Hacking Tools For Kali Linux
- Hacker Hardware Tools
- Hacking Tools For Windows 7
- Pentest Box Tools Download
- Game Hacking
- Hacking Tools For Mac
- Hacker Tools For Pc
- Bluetooth Hacking Tools Kali
- How To Make Hacking Tools
- Hack Tools For Windows
- Hack Rom Tools
- Pentest Tools Android
- Hacker Tools 2019
- Black Hat Hacker Tools
- Hacking App
- Hacking Tools Software
- How To Install Pentest Tools In Ubuntu
- Usb Pentest Tools
No comments:
Post a Comment