Appearance
应急响应之日志与流量分析
背景和流程
- 准备
- 检测
- 抑制
- 控制事件蔓延:断网、降级
- 遏制效应
- 遏制检测
- 根除
- 恢复
- 跟踪
测试
读 hosts 内网穿透
/etc/passwd 删除用户
逆向
- 研究保护机制
- 加壳
- 代码混淆
- 反调试
- 反反编译
- 分析关键函数,关键算法
- 达成目标
- 还原关键函数
- 逆向关键算法
- 典型流程
- 字符串输入
- 某些变换(编码、加解密、亦或)
- 对比变换结果和一个固定值
- 逆向思路
- 破除保护机制
工具
IDA,52po IDA7.5 比较完整
动态调试 ollydbg、x64dbg
- PEID
- Xspy:MFC 反编译
- 010 Editor
- 反编译工具
- jd-gui、dex2jar
- pyc 文件反编译
- wabt
- lua
花指令
干扰反汇编执行,不影响正常汇编的代码和数据
利用 jmp call
pwngdb
pass
sql
select * from test where admin='admin' and passwd='123456' or 1=1 -- '
文件读取
压缩包,lsb
- bugku
- buuoj 简单比赛
日志定位时间,everyting 找连接的文件
命令行编码
%0d,CRLF, %0a 换行
问题
管理员帐号硬编码,127.0.0.1
杂项
bash
install iptables-services # 安装iptables
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 放通 端口
service iptables save # 保存规则
sysctl -w net.ipv4.tcp_syncookies=1 # SYN COOIKES加固
bash
apt install libpam-pwquality
nano /etc/security/pwquality.conf
# 设置最小长度(下面的示例表示 8 个字符)
minlen = 8
# 设置新密码所需的最少字符类别数 (大写/小写/数字/其他)
minclass = 2
# 设置新密码中允许的最大连续相同字符数
maxrepeat = 2
# 设置新密码中允许的同类最大连续字符数
maxclassrepeat = 4
# 要求新密码中至少有一个小写字符
lcredit =-1
# 要求新密码中至少有一个大写字符
ucredit = -1
# 新密码至少需要一位数字
dcredit = -1
# 新密码中至少需要一个其他字符
ocredit = -1
# 设置新密码中单调字符序列的最大长度
maxsequence = 2
# 设置新密码中不能出现在旧密码中的字符数
difok = 5
# 检查新密码中是否包含用户密码条目的GECOS字段中超过3个字符的单词
gecoscheck = 1
# 设置密码中不得包含的以空格分隔的单词列表
badwords = denywords1 denywords2 denywords3
bash
apt install rsync
rsync src dest
1、validate_password_policy
代表的密码策略,默认是MEDIUM 可配置的值有以下:
0 or LOW 仅需需符合密码长度(由参数validate_password_length指定)
1 or MEDIUM 满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符
2 or STRONG 满足MEDIUM策略,同时密码不能存在字典文件(dictionary file)中
2、validate_password_dictionary_file
用于配置密码的字典文件,当validate_password_policy设置为STRONG时可以配置密码字典文件,字典文件中存在的密码不得使用。
3、validate_password_length
用来设置密码的最小长度,默认值是8
4、validate_password_mixed_case_count
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;默认是至少拥有一个小写和一个大写字母。
5、validate_password_number_count
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的数字的个数,默认1最小是0
6、validate_password_special_char_count
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的特殊字符的个数,默认1最小是0
sql
show variables like 'validate%';
set global validate_password_length = 10;
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
GRANT privileges ON databasename.tablename TO 'username'@'host'
# privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
[mysqld]
log_bin=ON
log_bin_basename=/var/lib/mysql/mysql-bin
log_bin_index=/var/lib/mysql/mysql-bin.index
log-bin=/var/lib/mysql/mysql-bin