Eric 发布的文章

windows 远程执行命令 安装软件

最近要对几百台windows批量安装软件, 其中少部分是古老的 windows Server 2003, 另外一部分这是 windows server 2008.
最初的想法是使用 chef 或者 puppet 管理来安装, 由于时间比较紧张, 最后采用 PsPools 的远程执行命令来完成, 远程命令使用 windows batch, 这样就不用安装任何脚本软件, 并且同时适合 Windows Server 2003 & 2008.

windows 远程执行

使用 PsTools 工具集中的 PsExec.exe 非常方便

window batch 命令

cd %USERPROFILE% ##进入用户主目录
echo Start installation git now > installGit.log ##写入日志
IF EXIST "C:\cygwin\bin\git.exe" echo exist ##判断文件是否存在
if not exist x:\ echo not exist ##判断x盘是不是存在
net use x: \abc.tianxiaohui.com\c$ password /USER:corp\admin ##添加网络驱动盘x
takeown /f C:\cygwin /r /d y ##把 cygwin 文件夹的ower 改成当前用户
icacls "C:\cygwin\usr\" /t /grant Everyone:F ##每个用户都可以对这个文件夹有控制权限
rmdir C:\cygwin\usr\man /S /Q ##删除文件夹
xcopy x:\share\setup-x86.exe /Y ##copy 文件

kali on raspberry emergence mode when start

今天尝试在 Raspberry 上面安装 Kali ARM 版本, 遇到每次重启都不能自动进入系统,都卡在进入系统之前的验证,验证消息说:现在是 emergency mode, 请输入root的密码,然后systemctl reboot 或看log, 或 ctr + d 继续,然后进入default mode, 不过以后每次重启 还是要进入这个 maintenance emergence mode, 这样直接导致不接键盘和屏幕,无法进入系统。

google 之后, 发现这可能是sd卡有文件错误,比如它写入的时候出问题了, 或者是运行中突然掉电,最搞笑的是在一个问答里面, 有个印度人说在印度 经常断电是一种很常见的问题。
这个帖子给了一个解释: Getting emergency mode screen on boot up every time

所以 根本问题是SD 卡有问题了, 需要修复。
如何修复

  1. windows 上面可以格式化,但是因为已经装了个系统,所以window上面无法看到未分派的空间,需要额外软件修复分区问题 然后在格式化;
  2. linux 上面比较简单 先umount 那个设备 umount /dev/sdc, 然后格式化 mkfs.vfat /dev/sdc

参见: linux格式化U盘

Mastering Kali LInux Wireless pentesting [读书笔记]

  1. 最常见WIFI 协议

802.11.png

  1. 2.4G 包含14个频道,从1(2412), 2(2417), ... 13(2472), 14(2477),北美只用1到11, 其他国家最多用到13, 几乎没有国家用到14。 都是由本国政府规定可以用那个。
  2. 5G 频道更多,分布更广,一般从 36(5180 MHz) 到 165(5825), 还有从7(4915) 到195.
  3. Adapter 的4种模式

    1. managed mode 最常见模式,只从它对应的AP接收信号,忽略其它的;
    2. ad-hoc mode 点对点通信用,必然蓝牙
    3. monitor mode passive 模式,接收一切信号,不管是不是给自己的;
    4. master mode 配置当前adapter为AP,比如设置成一个虚假的WIFI访问点
  4. 802.11 的配置模式

    1. Infrastructure 模式,一般的AP 模式
    2. ad-hoc 模式 点对点 模式 很少见
  5. 802.11 frame 类型

    1. management frame
    2. control frame
    3. data frame
  6. 网络加密类型

    1. Open
    2. WEP Wired Equivalent Privacy
    3. WPA/WPA2 Wi-Fi Protected Access 安全标准 802.11i,从兼容过度的Temporal Key Integrity Protocol(兼容WEP的硬件) 到
    4. WPA2 是802.11i的完全实现,使用AES(Advanced Encryption Standard) 加密
  7. WPA/WPA2

    1. 分为 WPA Personal 和 WPA Enterprise
    2. WPA Personal 又被称为: WPA Pre Shared Key (PSK)
    3. WPA Enterprise 需要 RADIUS server on the network to authenticate the clients
    4. WPA PSK 需要最少8个ASCII码的字符作为key, 这个key又称作 Pre-shared Master Key (PMK)
    5. 通过PMK生成 Pairwise Transient Keys (PTK) 在一个session期间加密数据
    6. 即使攻击者拥有PMK,也不能破解其它client和AP的数据,因为它没有PTK.要捕获PTK必须在它们握手期间获得.
  8. 字典攻击 WPA 捕获client 和 AP的握手包,然后用密码字典破解

    1. 打开monitor 模式

    ifconfig wlan3 down
    iwconfig wlan3 mode monitor
    ifconfig wlan3 up

    1. airodump-ng -w mydump -c 6 wlan3 //开始dump,一旦捕获握手,就显示在右上
    2. aircrack-ng mydump.cap -c pwddict.txt //用字典破解
  9. 使用彩虹表加速破解

Unicode 字符集 和 UTF 编码

  1. Unicode 是字符集, 类似ASCII 码有127字符, Unicode 已经包含17个planes, 每个plane包含65536个代码点(code point)
  2. UTF 是Unicode字符集的编码, 就是Unicode 字符集在磁盘的表示, 参考这篇很不错的文章 十分钟搞清字符集和字符编码
  3. Windows 和 Java 默认使用 UTF-16, Web 默认使用 UTF-8
  4. UTF-8 兼容ASCII
  5. 非英文域名 即 IDNs 要使用 Punycode 去转. 尽管你的URL的域名部分是 新华网.中国 或 %E6%96%B0%E5%8D%8E%E7%BD%91.%E4%B8%AD%E5%9B%BD (encodeURI("新华网.中国")的结果) 在去到DNS 解析的时候, 都是翻译为 Punycode 去做DNS 查询的
  6. Unicode 要区分 字符, codepoint, UTF 编码后的值 如 : 田 的codepoint 是30000 (0x7530), UTF-8 编码后是: E794B0 (使用 encodeURI("田") 得到)

JavaScript 数字 字符 转换

  1. 数字进制转换
    (10).toString(8) //10进制到8进制
    (077).toString() //8进制到10进制
    (0x11).toString(8) //16进制到8进制
    (0x11).toString(10) //16进制到10进制
    (0x11).toString(2) //16进制到2进制
    (0x11).toString(3) //16进制到3进制

    3进制转换为16进制
    parseInt("122", 3).toString(16); 先要转换为10进制, 然后再通过10进制转换为16进制

  2. 字符-数字 转换
    String.charCodeAt()
    String.fromCharCode()
    String.prototype.charAt()
    String.fromCodePoint()
    String.prototype.codePointAt()