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()
Read more
- Hacker Search Tools
- Hacker Tools For Mac
- Pentest Tools
- Hack App
- Pentest Tools Bluekeep
- Hack And Tools
- Hacker Tools Linux
- Hack Tools For Ubuntu
- Hacker Tools Hardware
- Hack Tools For Windows
- Github Hacking Tools
- Hacker Tools Windows
- Hacking Tools 2020
- Tools 4 Hack
- Hacking Tools Online
- New Hack Tools
- Hack Rom Tools
- Pentest Tools Windows
- Hacking Tools For Pc
- Pentest Tools Android
- Pentest Tools Linux
- Hacker Hardware Tools
- Hack Tools Mac
- Pentest Tools
- Top Pentest Tools
- Pentest Tools Open Source
- Pentest Tools Github
- Hack Tool Apk No Root
- Hack Tool Apk
- Tools Used For Hacking
- Physical Pentest Tools
- Pentest Tools Nmap
- Pentest Box Tools Download
- Underground Hacker Sites
- Hacking Tools For Mac
- Hacking Apps
- Hacking Tools Pc
- Pentest Tools Subdomain
- Underground Hacker Sites
- Hack Tools For Pc
- Hacker Tools Linux
- How To Install Pentest Tools In Ubuntu
- New Hacker Tools
- Pentest Tools Android
- Hacking Tools Hardware
- Pentest Tools Bluekeep
- Hacker Tools
- Game Hacking
- Pentest Tools Website Vulnerability
- Hacker Tools Free Download
- Hacker
- Hacking Tools 2019
- Hack Website Online Tool
- Hacking Tools Github
- Pentest Tools Find Subdomains
- Hacker Tools Free Download
- Pentest Tools Bluekeep
- Termux Hacking Tools 2019
- Nsa Hacker Tools
- New Hack Tools
- Pentest Tools Nmap
- Hacker Tools For Ios
- Pentest Recon Tools
- Hacking Tools Free Download
- Hack Tools
- Growth Hacker Tools
- Hacking Tools For Kali Linux
- Pentest Tools Framework
- Hak5 Tools
- New Hacker Tools
- Hacking Tools Github
- Hacking Tools Github
- Computer Hacker
- Pentest Tools Download
- Hack Tools For Ubuntu
- Usb Pentest Tools
- Hack Rom Tools
- Growth Hacker Tools
- Hacker Tools
- Hack Apps
- Pentest Tools Online
- Hackrf Tools
- Pentest Tools Find Subdomains
- Hacking Tools 2019
- Hacking Tools Mac
- Wifi Hacker Tools For Windows
- Hacker Tools For Mac
- Hacker Tools
- Hacking Tools Windows 10
- Hacking Tools Download
- Hacker Tools Github
- Hacker Tools Free
- Hacker Tools For Windows
- Pentest Tools
- Pentest Tools Android
- Hacking Tools For Kali Linux
- Hacker Security Tools
- Hack Tools Online
- How To Make Hacking Tools
- Pentest Box Tools Download
- Hacker Techniques Tools And Incident Handling
- Hacking Tools For Windows Free Download
- Hacking Apps
- Hacking Tools Usb
- Nsa Hacker Tools
- How To Hack
- Black Hat Hacker Tools
- Termux Hacking Tools 2019
- Growth Hacker Tools
- Install Pentest Tools Ubuntu
- Termux Hacking Tools 2019
- Hacking Tools Pc
- Hacking Tools Windows 10
- Pentest Tools Apk
- Hacker Tools Free
- Bluetooth Hacking Tools Kali
- Pentest Tools Subdomain
- Pentest Tools Subdomain
- Nsa Hacker Tools
- Nsa Hack Tools Download
- Blackhat Hacker Tools
- Physical Pentest Tools
- Hack Website Online Tool
- Hack Tools For Mac
- Pentest Tools For Android
- Hacking Tools For Windows 7
- Pentest Tools Apk
- Hack And Tools
- Pentest Tools Tcp Port Scanner
- Pentest Tools Github
- Hacking Tools Online
- Tools Used For Hacking
- Hack Rom Tools
- Best Pentesting Tools 2018
- Black Hat Hacker Tools
- Pentest Tools Download
- Pentest Tools Kali Linux
- Hack Tools For Pc
- Pentest Tools Tcp Port Scanner
- How To Install Pentest Tools In Ubuntu
- Hack Tools For Pc
- Hacker Tools Github
- Pentest Tools Github
- Termux Hacking Tools 2019
- Ethical Hacker Tools
- Hacks And Tools
- Hacking Tools Usb
- Hacking Tools For Mac
- Pentest Tools Bluekeep
- Best Hacking Tools 2019
- Hacking Tools Windows 10
- Pentest Tools Free
- Hacker Tools For Mac
- Hacking Tools Pc
- Hacking Tools For Windows
- Nsa Hacker Tools
- Hacking Tools For Windows
- Pentest Tools Review
- Hacking Tools For Windows Free Download
- Hacking Tools For Pc
- Hacking Tools For Windows 7
- Pentest Tools Free
- Blackhat Hacker Tools
- Hacking Tools Online


No comments:
Post a Comment