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()
Related news
- Ethical Hacker Tools
- Hacker Tools 2019
- Pentest Recon Tools
- Hacking Tools Pc
- Hacker Tools For Pc
- Termux Hacking Tools 2019
- Hacking Tools 2019
- Best Hacking Tools 2020
- Hacking Tools Download
- Hacking App
- Hack Tools Mac
- Pentest Tools Find Subdomains
- How To Hack
- Hackers Toolbox
- Best Pentesting Tools 2018
- Blackhat Hacker Tools
- Pentest Tools Tcp Port Scanner
- Hack Tools For Pc
- Hack Rom Tools
- Hack And Tools
- Hacker Tools 2020
- Hacking Tools 2020
- Nsa Hack Tools Download
- Pentest Tools
- Growth Hacker Tools
- Hack Tool Apk No Root
- Pentest Tools Kali Linux
- Hacker Security Tools
- Hacker Tools
- Pentest Tools Nmap
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Url Fuzzer
- Hack Tools
- Free Pentest Tools For Windows
- Hacker Hardware Tools
- Black Hat Hacker Tools
- Pentest Tools Linux
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Url Fuzzer
- Hacking Tools Mac
- Hack Tools For Mac
- How To Hack
- Hacking Tools
- Tools 4 Hack
- Hacking Tools Windows 10
- Nsa Hacker Tools
- Hacking Tools For Kali Linux
- Wifi Hacker Tools For Windows
- Hacker Tools Free
- Pentest Tools Framework
- Hacker Tool Kit
- Pentest Reporting Tools
- Pentest Tools Kali Linux
- Tools 4 Hack
- Hacker Tools Free
- Black Hat Hacker Tools
- Github Hacking Tools
- Hak5 Tools
- Hacking Tools Mac
- Hackers Toolbox
- Android Hack Tools Github
- Hacker Tools Software
- Pentest Tools List
- Tools For Hacker
- Github Hacking Tools
- Hack And Tools
- Pentest Tools Linux
- Hack Tools For Mac
- Hacker Hardware Tools
- Hacking App
- Hacker Tools Free
- Hacker Tools Hardware
- Pentest Tools Subdomain
- Hack Tools 2019
- Pentest Tools Free
- Hack Tools For Windows
- Hacking Tools Kit
- Pentest Tools Find Subdomains
- Hack Tool Apk
- Computer Hacker
- Ethical Hacker Tools
- Hacker Tool Kit
- Pentest Tools Tcp Port Scanner
- Hacker Tools
- Pentest Tools Alternative
- Hacker Tools List
- Hacking Tools Name
- Hacking Tools Download
- World No 1 Hacker Software
- Hacker Tools Apk
- New Hacker Tools
- Best Pentesting Tools 2018
- Pentest Tools Windows
- Pentest Tools Alternative
- Hacking Tools Pc
- Hacker
- How To Install Pentest Tools In Ubuntu
- Pentest Automation Tools
- Hack Tools For Games
- Hacker Tools 2019
- Github Hacking Tools
- Pentest Tools Nmap
- Underground Hacker Sites
- New Hacker Tools
- Pentest Tools Alternative
- Pentest Tools Apk
- Hacker Tools Free
- Wifi Hacker Tools For Windows
- Pentest Reporting Tools
- What Is Hacking Tools
- Easy Hack Tools
- Hacking Tools Mac
- Tools 4 Hack
- Bluetooth Hacking Tools Kali
- Hacking Tools For Pc
- Pentest Tools Review
- Pentest Tools Bluekeep
- Hack Tools
- Hacking Tools Hardware
- Pentest Tools For Android
- Pentest Tools Free
- Game Hacking
- Pentest Tools Alternative
- Hacker Techniques Tools And Incident Handling
- Hack Tools For Ubuntu
- Hacking Tools For Windows Free Download
- Top Pentest Tools
- Pentest Tools Bluekeep
- Hack And Tools
- Hackers Toolbox
- Hacking Tools For Games
- Pentest Tools Website Vulnerability
- Hacking Tools For Mac
- Nsa Hack Tools
- What Are Hacking Tools
- Hack And Tools
- Hacking Tools Github
- Hack Tools For Ubuntu
- Pentest Tools Framework
- Hack Tools Pc
- Ethical Hacker Tools
- Hacking Tools For Windows Free Download
- Hacking Tools Software


No comments:
Post a Comment