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()
- Tools Used For Hacking
- Hacking Tools 2020
- Hacking Tools 2019
- Hacking Tools For Beginners
- Hacker Tools 2019
- Hacker Techniques Tools And Incident Handling
- Hacking Tools Pc
- Pentest Tools Alternative
- Easy Hack Tools
- What Is Hacking Tools
- Hacker
- Hack Tool Apk No Root
- Hacking Tools Mac
- Hacking Tools Windows
- Pentest Reporting Tools
- Hacker Tools 2019
- Hacker Tools For Pc
- Growth Hacker Tools
- Tools 4 Hack
- Hack Tools 2019
- Computer Hacker
- Pentest Tools Subdomain
- Hack Tool Apk
- Pentest Tools Open Source
- Hacker Tools
- Pentest Box Tools Download
- Hacking Tools Windows 10
- Hack Tools For Mac
- Hacker Tools For Mac
- Pentest Tools For Android
- Physical Pentest Tools
- Pentest Tools Url Fuzzer
- Hacking Tools For Games
- Hacking Tools For Windows
- Pentest Tools
- Hacking Tools
- Computer Hacker
- Bluetooth Hacking Tools Kali
- Hack Tools 2019
- Hack Tools For Games
- Hack Tools For Pc
- Top Pentest Tools
- Hack Tools For Ubuntu
- Hacker Tools Apk
- Termux Hacking Tools 2019
- Underground Hacker Sites
- Hacker Tools Apk
- Hacking App
- Hacker Tools For Ios
- How To Hack
- Hak5 Tools
- Free Pentest Tools For Windows
- Hacker Tools Software
- Beginner Hacker Tools
- Hack Tools For Mac
- Pentest Tools Kali Linux
- Pentest Tools Nmap
- Hack Tools For Windows
- Hacker Tools Apk
- Pentest Box Tools Download
- How To Make Hacking Tools
- Pentest Tools For Mac
- Hacking Tools For Mac
- Pentest Tools Find Subdomains
- Pentest Reporting Tools
- Hacker Tools Free
- Hacking App
- Hacking Tools Usb
- Hackers Toolbox
- Hack Tools Mac
- Pentest Tools Bluekeep
- Top Pentest Tools
- Hak5 Tools
- Pentest Tools Alternative
- How To Hack
- Hacker Tools Windows
- Pentest Tools Find Subdomains
- How To Hack
- Hack Tools For Mac
- Hacking Tools And Software
- Hacks And Tools
- Pentest Tools For Android
- Hacker Tools 2020
- Ethical Hacker Tools
- Hacker Tools Hardware
- Hacking Tools Download
- Hacking Tools Usb
- Hack Rom Tools
- Pentest Tools Bluekeep
- Android Hack Tools Github
- What Is Hacking Tools
- Underground Hacker Sites
- Pentest Tools Free
- Hacker Tools Linux
- Wifi Hacker Tools For Windows
- Hacker Tools Mac
- Hacking Tools Kit
- Hacker Tools Mac
- Pentest Tools Online
- Pentest Tools Kali Linux
- Game Hacking
- Black Hat Hacker Tools
- New Hack Tools
- Hackers Toolbox
- Tools Used For Hacking
- Usb Pentest Tools
- Tools For Hacker
- Pentest Tools Online
- Hacking Tools And Software
- Hack Rom Tools
- Hacker
- Hacker Tools Linux
- Pentest Tools List
- Hacking Tools Usb
- Pentest Tools Subdomain
- Pentest Tools Url Fuzzer
- Hacker Tool Kit
- Hacking Tools Github
- Hack Tools
- Hack Tools For Games
- Pentest Automation Tools
- Hacker Tools Free Download
- Physical Pentest Tools
- Pentest Tools Tcp Port Scanner
- Kik Hack Tools
- Hacking Tools For Pc
- Hacker Tools For Mac
- How To Make Hacking Tools
- Hacking Tools For Mac
- Best Hacking Tools 2019
- Hack Website Online Tool
- Hack Apps
- Hacking Tools For Beginners
- Hacker Hardware Tools
- Hacking Tools For Games
- Hacker Search Tools
- Hack Tools
- Easy Hack Tools
- Pentest Tools Review
- Pentest Tools Subdomain
- Pentest Tools Url Fuzzer
- Pentest Tools Download
- Black Hat Hacker Tools
- Hacker Tools For Windows
- Pentest Tools Framework
- Hacker Tools Apk Download
- Hacking App
- Game Hacking
- Pentest Tools Bluekeep
- Pentest Tools For Android
- Termux Hacking Tools 2019
- Hack Tools Pc
- Hacking Tools Windows 10
- Pentest Tools For Ubuntu
- Hacker Tools Mac
- Hacking Tools For Windows Free Download
- Hack Tools 2019
- Hacker Tools For Windows
- Hacking Tools Usb
- Hack Tool Apk
- How To Hack
- Tools Used For Hacking
- Hacking Tools For Windows Free Download
- Hackrf Tools
- Pentest Tools Website
- Pentest Tools Nmap
- Hacker Tools Free
No comments:
Post a Comment