NFsec Logo

Tani bruteforce subdomen za pomocą dig i xargs

29/10/2024 w CmdLineFu, Pen Test Możliwość komentowania Tani bruteforce subdomen za pomocą dig i xargs została wyłączona

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

Prosty trick, aby ukryć prawdziwą nazwę procesu

27/10/2024 w CmdLineFu, Hacks & Scripts Możliwość komentowania Prosty trick, aby ukryć prawdziwą nazwę procesu została wyłączona

// 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?

MacOS: masowa konwersja HEIC do JPEG

19/02/2024 w CmdLineFu Możliwość komentowania MacOS: masowa konwersja HEIC do JPEG została wyłączona

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>]

Tworzenie i usuwanie plików zaczynających się od myślników

25/01/2024 w CmdLineFu Możliwość komentowania Tworzenie i usuwanie plików zaczynających się od myślników została wyłączona

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?

Czyszczenie systemu z kontenerów docker

14/10/2022 w CmdLineFu Możliwość komentowania Czyszczenie systemu z kontenerów docker została wyłączona

alias containerstorm='docker stop $(docker ps -aq) && docker rm $(docker ps -aq) && docker rmi $(docker images -q)'

Scraping adresów URL

24/03/2022 w CmdLineFu Możliwość komentowania Scraping adresów URL została wyłączona

curl -s https://nfsec.pl | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | sort -u

Więcej informacji: SpiderFoot

Kilka przydatnych jednolinijkowców dla informatyki śledczej Linuksa

12/08/2021 w Bezpieczeństwo, CmdLineFu Możliwość komentowania Kilka przydatnych jednolinijkowców dla informatyki śledczej Linuksa została wyłączona

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

Pokaż wszystkie pakiety zainstalowane ręcznie w systemie

14/01/2021 w CmdLineFu 1 komentarz.

while read x; do echo -e "$x\n`aptitude why $x`" | grep 'Manually installed' -B1 |\
grep -v '^Manually installed\|^--'; done <<< $(apt-mark showmanual)

Jak sprawdzić każdy shorturl ?

07/11/2020 w CmdLineFu Możliwość komentowania Jak sprawdzić każdy shorturl ? została wyłączona

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.

Wyciąganie adresów URL z plików JavaScript

26/06/2020 w CmdLineFu Możliwość komentowania Wyciąganie adresów URL z plików JavaScript została wyłączona

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