Napisał: Patryk Krawaczyński
29/10/2024 w CmdLineFu, Pen Test
Nie musimy ściągać wyrafinowanych narzędzi do enumeracji subdomen wybranej domeny. Powinna wystarczyć nam dobra lista oraz dwa narzędzia, które bardzo często znaleźć zainstalowane w systemie Linux: dig oraz xargs:
$ wc -l subdomians.txt
100 subdomians.txt
$ time cat subdomians.txt | xargs -P0 -I subdomain dig +noall subdomain.nfsec.pl +answer
www.nfsec.pl. 3600 IN CNAME nfsec.pl.
nfsec.pl. 3600 IN A 146.59.92.70
ns1.nfsec.pl. 3600 IN A 146.59.92.70
ns2.nfsec.pl. 3600 IN A 213.251.188.141
ns3.nfsec.pl. 3600 IN A 46.105.206.200
ns4.nfsec.pl. 3600 IN A 46.105.207.200
real 0m0.390s
user 0m0.764s
sys 0m0.599s
If max-procs (-P) is 0, xargs will run as many processes as possible at a time.
Więcej informacji: Hostname bruteforcing on the cheap
Napisał: Patryk Krawaczyński
27/10/2024 w CmdLineFu, Hacks & Scripts
// sleeper.c
#include
#include
int main()
{
sleep(60);
printf("Infecting Linux Host.");
return 0;
}
agresor@darkstar:~$ gcc -o sleeper sleeper.c
agresor@darkstar:~$ exec -a '/lib/systemd/systemd --abuse' ./sleeper &
[1] 5354
agresor@darkstar:~$ ps x
PID TTY STAT TIME COMMAND
4925 ? Ss 0:00 /lib/systemd/systemd --user
4926 ? S 0:00 (sd-pam)
4988 ? R 0:00 sshd: agresor@pts/0
4989 pts/0 Ss 0:00 -bash
5354 pts/0 S 0:00 /lib/systemd/systemd --abuse
5357 pts/0 R+ 0:00 ps x
Należy mieć na uwadze, że exec najlepiej w tym przypadku działa z plikami binarnymi. I bardzo prosto wykryć ten trick:
agresor@darkstar:~$ ls -al /proc/5354/exe
lrwxrwxrwx 1 agresor agresor 0 Oct 27 19:24 /proc/5354/exe -> /home/agresor/sleeper
agresor@darkstar:~$ cat /proc/5354/cmdline
/lib/systemd/systemd --abuse
agresor@darkstar:~$ cat /proc/5354/comm
sleeper
Więcej informacji: Why isn’t `exec -a` working the way I expect?
Napisał: Patryk Krawaczyński
19/02/2024 w CmdLineFu
for i in `echo *.HEIC`; do sips -s format jpeg -s formatOptions best "$i" --out "${i%.*}.jpg"; done;
formatOptions przyjmuje parametry jakości: [low|normal|high|best|<percent>]
Napisał: Patryk Krawaczyński
25/01/2024 w CmdLineFu
Pierwszym sposobem na tworzenie lub usuwanie pliku zaczynającego się od pojedynczego lub podwójnego myślnika jest dodanie ścieżki przed nazwą pliku:
touch ./--hard-to-create
rm ./--hard-to-remove
Drugim sposobem na tworzenie lub usuwanie pliku zaczynającego się od pojedynczego lub podwójnego myślnika jest zasygnalizowanie (--
) wydawanemu poleceniu, że następuje koniec procesowania wewnętrznych opcji i wyłączenie interpretacji opcji zaczynających się od myślnika:
touch -- --hard-to-create
rm -- --hard-to-remove
Więcej informacji: How to create, open, find, remove dashed -file_name in Linux, What Does a Double-Dash in Shell Commands Mean?
Napisał: Patryk Krawaczyński
14/10/2022 w CmdLineFu
alias containerstorm='docker stop $(docker ps -aq) && docker rm $(docker ps -aq) && docker rmi $(docker images -q)'
Napisał: Patryk Krawaczyński
24/03/2022 w CmdLineFu
curl -s https://nfsec.pl | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | sort -u
Więcej informacji: SpiderFoot
Napisał: Patryk Krawaczyński
12/08/2021 w Bezpieczeństwo, CmdLineFu
sudo grep -F '(deleted)' /proc/*/maps | grep -E '\s[r\-][w\-]x[sp\-]\s'
– znajdź działające procesy z usuniętymi plikami wykonalnymi.
sudo find /tmp -executable -not -empty -type b,c,f,l,p
– znajdź pliki wykonalne w katalogu /tmp.
sudo grep -a -E '^.{,5}\[' /proc/[0-9]*/cmdline
– znajdź procesy z nawiasami kwadratowymi (używane przez złośliwe oprogramowanie, aby wyglądały jak procesy jądra).
sudo grep -E '\s[r\-][w\-]x[sp\-]\s' /proc/*/maps | awk -F ' ' '{if(length($6)==0){split($1, arr, "/");print arr[3]}}' \
| sort | uniq | xargs -I {} -n 1 bash -c 'cat /proc/{}/cmdline; echo'
– znajdź i wyświetl procesy mające niezmapowane sekcje wykonalne.
Więcej informacji: Ściągawka z informatyki śledczej w wykrywaniu włamań za pomocą linii poleceń Linuksa, Thread with one-liners bash commands to search for malware in a Linux host
Napisał: Patryk Krawaczyński
14/01/2021 w CmdLineFu
while read x; do echo -e "$x\n`aptitude why $x`" | grep 'Manually installed' -B1 |\
grep -v '^Manually installed\|^--'; done <<< $(apt-mark showmanual)
Napisał: Patryk Krawaczyński
07/11/2020 w CmdLineFu
Usługi skracania adresów URL istnieją od dawna. Wikipedia datuje je na rok 2000. Dzięki mediom społecznościowym i komunikatorom usługi skracania adresów są teraz bardziej przydatne niż kiedykolwiek. Bazując na ułomności ludzkiej pamięci pozwalają nam zapamiętać krótkie adresy zamiast długich wierszy. Skrócona “część” działa jak unikalny klucz, który serwer może użyć do przekierowania żądania do wybranego, końcowego adresu URL. Istnieją różne metody przekierowania przeglądarki z adresu URL na inny. Większość z nich zwykle opiera się na nagłówku HTTP przy pomocy kodów 301
(Moved Permanently), 302
(Found), 307
(Temporary Redirect), czy 308
(Permanent Redirect). Niezależnie od kodu miejsce docelowe przekierowania jest zwykle zakodowane w polu nagłówka: Location
. Bazując na tej informacji możemy sprawdzić większość skróconych adresów za pomocą polecenia curl:
curl -svI $SKRÓCONY_URL --max-redirs 0 \
--user-agent "Googlebot/2.1 (+http://www.google.com)" 2>&1 | grep -i location
Jednak sam proces przekierowania to nie jedyna rzecz, która ma miejsce, gdy nasza przeglądarka trafia na serwer skracarki. Pozostawiamy również wpis w logach ze swoim odciskiem palca zawierającym adres IP, nazwę aplikacji klienckiej i wszystko to, co przeglądarka akceptuje, aby przekazać serwerowi. Te wszystkie rzeczy poszerzają możliwości skracania adresów URL i pomagają zespołom marketingu, SEO i innym “szpiegować” (pozyskiwać dość szczegółowe informacje analityczne) klientów z nich korzystających. A jeszcze gorzej, jeśli za ich pomocą przekazujemy poufne informacje.
Napisał: Patryk Krawaczyński
26/06/2020 w CmdLineFu
for i in `curl -s https://adres.pl | grep -Eo \
"(http|https)://[a-zA-Z0-9./?=_-]*\.js"`;
do curl -s $i &> /dev/stdout | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*"*; done
Ostatni komentarz :