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 information
- Pentest Tools Free
- Physical Pentest Tools
- Black Hat Hacker Tools
- Hacking Tools Free Download
- Beginner Hacker Tools
- Hack Tools Github
- Pentest Tools Android
- Hack Tools Github
- Hack Tool Apk No Root
- Tools 4 Hack
- World No 1 Hacker Software
- Hack Tools Github
- Pentest Tools Tcp Port Scanner
- Hacking Tools Mac
- Pentest Tools For Windows
- Pentest Tools Website
- Hacker Security Tools
- Hackrf Tools
- Hacker
- Pentest Tools For Ubuntu
- Pentest Tools Framework
- How To Make Hacking Tools
- Hack Tools 2019
- Github Hacking Tools
- Blackhat Hacker Tools
- Pentest Reporting Tools
- Pentest Tools Url Fuzzer
- Tools Used For Hacking
- Tools 4 Hack
- Hacking Tools Online
- Pentest Tools Port Scanner
- Hacking Tools Hardware
- Tools 4 Hack
- Hacker Techniques Tools And Incident Handling
- Hack Tools Mac
- Hack And Tools
- Kik Hack Tools
- Pentest Tools Linux
- Hacker Tools Windows
- Pentest Automation Tools
- Pentest Tools Tcp Port Scanner
- Usb Pentest Tools
- Tools For Hacker
- Hacker Tools 2020
- Free Pentest Tools For Windows
- Hacker
- Hacker Search Tools
- Tools Used For Hacking
- Hack App
- Hackrf Tools
- Hack Website Online Tool
- Hacking Tools For Mac
- Pentest Tools List
- Hacking Tools Mac
- Hacker
- Hacking Tools
- Pentest Tools Website Vulnerability
- Hacking Tools For Windows Free Download
- Beginner Hacker Tools
- Hacking Tools Kit
- Hacking Tools Github
- Hacking Tools Pc
- Hacker Tools For Pc
- Hacking Tools Software
- Hacking Tools Free Download
- Pentest Tools Find Subdomains
- Pentest Tools Nmap
- Install Pentest Tools Ubuntu
- Pentest Tools List
- How To Install Pentest Tools In Ubuntu
- Computer Hacker
- Hacking Tools Windows 10
- Pentest Tools Linux
- Nsa Hack Tools Download
- Hacking Tools Github
- Hack Tools Download
- Hacking Tools Software
- Hacker Tools For Pc
- Hacking Tools For Beginners
- Hacking Tools Hardware
- Hacker Tools Windows
- Blackhat Hacker Tools
- Pentest Tools Tcp Port Scanner
- Hack Tools
- Hacking Tools Windows
- Pentest Tools Framework
- Tools 4 Hack
- Hacker Tools Apk Download
- How To Make Hacking Tools
- Hack Tools 2019
- Pentest Tools Download
- Pentest Tools Open Source
- Hacker
- Hacker
- Hack Tool Apk No Root
- Pentest Tools Android
- How To Hack
- Hacker Tools Software
- Best Pentesting Tools 2018
- Pentest Tools For Windows
- Hack Tools For Windows
- Nsa Hack Tools
- Hacker Tool Kit
- Hacking Tools For Pc
- Pentest Tools Github
- Ethical Hacker Tools
- Pentest Tools Free
- Pentest Tools Port Scanner
- Hacker Tools Online
- Pentest Tools Framework
- Hacker Tools Hardware
- Pentest Tools Android
- Hack Tools For Windows
- Hacking Tools
- Wifi Hacker Tools For Windows
- Hacker Tools 2020
- Pentest Tools Linux
- Computer Hacker
- New Hacker Tools
- Hacking Tools Pc
- Nsa Hacker Tools
- Pentest Reporting Tools
- Pentest Recon Tools
- Pentest Tools Find Subdomains
- What Is Hacking Tools
- Pentest Tools Find Subdomains
- Pentest Tools Url Fuzzer
- Hacking Tools Windows 10
- Top Pentest Tools
- Hacking Tools Download
- Hacker Search Tools
- Hacker Tools 2019
- Hack App
- Blackhat Hacker Tools
- Hak5 Tools
- Hack Tools
- Install Pentest Tools Ubuntu
- World No 1 Hacker Software
- Hacker Tools Software
- Hacker Tools Windows
- Hacking Tools For Mac
- Kik Hack Tools
- Hacking Tools Download
- Easy Hack Tools
- Hacking App
- Hacking Tools Free Download
- Tools For Hacker
- Hacker Tools Apk Download
- Hacker Tools 2019
- Hack Tools For Mac
- Github Hacking Tools
- Hack Tools Mac
- Hacking Tools Name
- Pentest Tools List
- Pentest Tools Review
- Hacking Tools For Windows
- Hack Tools Mac
- Ethical Hacker Tools
- Black Hat Hacker Tools
- Hacker Tools Software
- Best Hacking Tools 2019
- Android Hack Tools Github
- Best Pentesting Tools 2018
0 comentários:
Postar um comentário