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 articles
- Tools Used For Hacking
- Hacking Tools Usb
- Hacker Tools Github
- Hacker Tool Kit
- Hacker Tools Apk Download
- Game Hacking
- Pentest Tools For Android
- Hack And Tools
- Hacking Tools Free Download
- Black Hat Hacker Tools
- Hacker Tools Apk
- Pentest Tools Subdomain
- Free Pentest Tools For Windows
- What Are Hacking Tools
- World No 1 Hacker Software
- Top Pentest Tools
- Hack Tool Apk
- Pentest Tools Subdomain
- Hacker Tools Free
- Hacker Tools Online
- Pentest Tools For Android
- Hacker Tools Free Download
- What Are Hacking Tools
- Hacking Tools And Software
- Top Pentest Tools
- Hacker Tools 2020
- Hacker Tools Windows
- Best Hacking Tools 2019
- Hack Tools Download
- Hacker Tools Linux
- Pentest Tools Apk
- Hacking Tools For Beginners
- Hacker Search Tools
- Hack Tools Download
- Hacker Tools Software
- Hacker Tools For Windows
- Tools Used For Hacking
- Hacking Tools 2020
- Hacking Tools Usb
- Hacking Tools 2020
- Tools 4 Hack
- Pentest Tools Kali Linux
- Pentest Tools Open Source
- What Are Hacking Tools
- Hacker
- Hack Apps
- Pentest Tools Android
- Hacking Tools For Kali Linux
- Hacker Search Tools
- Hacking Tools Software
- Pentest Box Tools Download
- Best Hacking Tools 2019
- Pentest Tools Review
- New Hacker Tools
- Hacking Tools For Windows
- New Hack Tools
- New Hack Tools
- Hacker Tools
- Hacker Tools
- Tools Used For Hacking
- Hack Tool Apk
- Nsa Hack Tools Download
- Nsa Hack Tools
- Nsa Hack Tools Download
- Easy Hack Tools
- Usb Pentest Tools
- Hacker Techniques Tools And Incident Handling
- Hacking Tools Windows 10
- Hack And Tools
- Hacker Tools Hardware
- Hacker Tools Mac
- Hacker Tools List
- Best Pentesting Tools 2018
- Pentest Box Tools Download
- Computer Hacker
- Pentest Tools Linux
- Pentest Tools Android
- Pentest Tools Subdomain
- How To Install Pentest Tools In Ubuntu
- Hack Tools Mac
- Pentest Tools
- Pentest Tools Bluekeep
- How To Hack
- Pentest Tools For Android
- Hacking Tools Name
- Hack Tools
- Computer Hacker
- Hacking Tools Windows 10
- Pentest Tools Subdomain
- Pentest Tools Tcp Port Scanner
- Hacker
- Hacker Tools For Windows
- Hacker Tools Free Download
- Tools For Hacker
- Beginner Hacker Tools
- World No 1 Hacker Software
- Hacking Apps
- Hacker Tools Linux
- Hacking Tools Usb
- Nsa Hack Tools
- Hacking Tools For Pc
- Hacking Tools Software
- Hack Tools For Pc
- Hacking Tools Windows 10
- World No 1 Hacker Software
- Pentest Tools Open Source
- Hacker Tools Linux
- Pentest Tools Free
- Hack Tools
- Bluetooth Hacking Tools Kali
- What Is Hacking Tools
- Pentest Tools
- Hacking Tools 2020
- Hacking Tools
- Hacking Tools Kit
- Hacking Tools Free Download
- New Hack Tools
- Hacking Tools Windows 10
- Hacking Tools
- Hackrf Tools
- Hacking Tools Free Download
- New Hack Tools
- Hacker Tools Linux
- Pentest Tools Website
- Nsa Hack Tools
- Pentest Tools Windows
- Hacker Tool Kit
- Hack And Tools
- Hack Tools 2019
- Hacker
- Hacking Tools For Mac
- Hack Tools Mac
- Pentest Tools Online
- World No 1 Hacker Software
- Pentest Tools Find Subdomains
- Hacking Tools For Games
- Wifi Hacker Tools For Windows
- Pentest Tools Subdomain
- Pentest Tools Apk
- Pentest Tools Website Vulnerability
- Pentest Tools Website Vulnerability
- Ethical Hacker Tools
- Hacking Tools For Windows
- Tools For Hacker
- Hak5 Tools
- Install Pentest Tools Ubuntu
- Pentest Tools Bluekeep
- Pentest Tools For Windows
- Hacker Tool Kit
- Pentest Tools Port Scanner
- Hackers Toolbox
- Pentest Tools Review
- Hacking App
- Hacking Tools 2019
- Hacking Tools For Windows
- Hacking Tools Github
- Pentest Tools Find Subdomains
- Usb Pentest Tools
- Hacking Tools For Kali Linux
- Hacker Tools For Pc
- Usb Pentest Tools
- How To Hack
- Hacker Techniques Tools And Incident Handling
- Hacker Tools For Windows
- Hacker Tools For Mac
- Hacking Tools For Pc
- Hacker Tools Github
- Hack Tools For Pc
No comments:
Post a Comment