Проблема в том, что личинка Kali не видит Windows. Ubuntu сделала. Я предлагаю вам следовать этому руководству и «исправить» grub. Это должно установить grub еще раз, и Ubuntu сможет правильно определять все ОС.
Вы уже выполнили большую часть работы. Чтение справочной страницы для smbclient
дало бы вам параметр -c
, который можно использовать для предоставления одной или нескольких команд напрямую, а не интерактивно.
#!/bin/bash
username="DOMAIN\\USER" # Double backslash
password="PASSWORD" # For demonstration purposes only
hostname="TARGET_HOST" # SMB hostname of target
cd "${TMPDIR:-/tmp}"
touch tmp_$$.tmp # Required locally to copy to target
smbclient -L "$hostname" -g -A <( echo "username=$username"; echo "password=$password" ) 2>/dev/null |
awk -F'|' '$1 == "Disk" {print $2}' |
while IFS= read -r share
do
echo "Checking root of share '$share'"
if smbclient "//$hostname/$share/" "$password" -U "$username" -c "dir" >/dev/null 2>&1
then
status=READ
# Try uprating to read/write
if smbclient "//$hostname/$share/" "$password" -U "$username" -c "put tmp_$$.tmp ; rm tmp_$$.tmp" >/dev/null 2>&1
then
status=WRITE
fi
else
status=NONE
fi
case "$status" in
READ) echo "Well, $username has read access" ;;
WRITE) echo "Yes, $username has write access" ;;
*) echo "No, $username has no access" ;;
esac
done
rm -f tmp_$$.tmp
Возможно, SMBmap может вам помочь с этой задачей. Его автор разработал именно для этой цели.
$ python smbmap.py -H [targetIP] -u [user] -P 445
[+] Finding open SMB ports....
[+] User SMB session establishd...
[+] IP: 192.168.0.4:445 Name: 192.168.0.4
Disk Permissions
---- -----------
ADMIN$ READ, WRITE
C$ READ, WRITE
IPC$ NO ACCESS
TMPSHARE READ, WRITE
Вы можете использовать --host-file
для передачи списка целей.
Внутри он пытается создать каталог со случайным именем, чтобы проверить, есть ли у нас права на запись.