________________________________________________________________________________________________________________________________ Linux Palvelimet komentoja ________________________________________________________________________________________________________________________________ *** ALKU KOMENNOT *** setxkbmap fi <---> Vaihtaa suomi nappaimiston sudo <---> Jarjestelman valvojana suoritettavat komennot uname -a <---> Kayttojarjestelman versio lshw -short -sanitize <---> Laitteisto ifconfig <---> Ip tietoja hostname -I <---> Omat IPt curl ifconfig.me <---> Julkinen IP culrilla nano <---> Normaali kayttajan teksti editori sudoedit <---> Sudo kayttaja editori passwd <---> Salasana xubuntu live tikulle ________________________________________________________________________________________________________________________________ *** WIRELESS ADAPTERIN ASENNUS *** iwconfig <---> Tietoja langatomasta adapterista sudo apt-get install bcmwl-kernel-source <---> Lataa langatoman adapterin Editoi /etc/pulse/daemon.conf no -> yes <---> Kali Linuxiin aanet systemctl --user enable pulseaudio <---> Kali Linuxiin aanet systemctl --user start pulseaudio <---> Kali Linuxiin aanet ________________________________________________________________________________________________________________________________ *** KANSIOT LINUXIIN *** ls <---> Listaa nykyisen hakemiston tiedostot ls -a <---> Listaa myos hidden folderit all toiminolla ls -l <---> Nayttaa tiedostojen oikeudet pwd <---> Listaa taman hetkisen hakemiston "print working directory" du -h foldename/ <---> listaa paljon kansio vie tilaa mkdir kansionnimi <---> Luo kansion mkdir -p /kansio/kansio <---> Luo myos ali kansiot cd / <---> Menee tiettyyn tiedostoon esim cd / menee / kansioon cd /var/log <---> Menee log kansioon cd <---> Pelkka cd menee takaisin kayttajan omaan home kansioon cd .. <---> Menee takaisin pain hakemistossa cd - <---> Menee vimeksi aukioleeseen kansioon TAB <---> TAB automaattisesti tayttaa kansioita valitaessa echo hello > testi.txt <---> Korvaa tiedoston testi.txt hello sanalla echo hello >> testi.txt <---> Vie hello sanan testi.txt tiedoston loppuun omalle riville cat testi1.txt test2.txt >> testi3.txt <---> Yhditää 2 tiedostoa testi3.txt tiedostoon. cat testi* >> testi4.txt <---> Valitsee kaikki testi alkuiset tiedostot ja vie testi4.txt tiedostoon chmod ugo+rwx <---> Read write ja execute oikeus. user group ja other kayttajille mv oldname newname <---> Vaihtaa tiedoston nimen rm tiedosto <---> Poistaa tiedoston rm -r kansio <---> Poistaa kansion rekursiivisesti mv tiedostonnimi kansio/ <---> Vie tiedoston toiseen kansioon cp tiedostonnimi kansio/ <---> Kopioi tiedoston toiseen kansioon cp -rp <---> RP lipuilla kopioidaan myos tiedoston oikeudet recursiivisesti /etc <---> kaikkien ohjelmien asetuksien kansio /var/log/auth.log <---> Kirjautumis loki tiedosto /etc/systemd/system <---> Uudelleen kaynnistyksessa paalle tulevat ohjelmistot ________________________________________________________________________________________________________________________________ *** HAKUTOIMINTO *** alt+. <---> viimeisen komennon viimeinen sana less teksti.txt <---> Haku komento, joka tuo yhdensivun kerralla tail teksti.txt -F <---> Avaa tiedoston 10viimeista rivia ja uudet rivit cat teksti.txt <---> Avaa tiedoton sisallon history <---> Nayttaa vanhat kommennot which bash <---> Mista bash ajetaan env <---> bash scriptiin tietoja koneesta (environment) && <---> Ketjuttaa komentoja (ketju voi katketa) ; <---> Ketjuttaa komentoja (ketju ei katkea) "|" putki merkki <---> Liimataan komentoja | grep haku <---> Hakee tietueesta hakusanalla | grep -ir haku <---> Haku paremmalla rivityksella | grep -v 'exclude' <---> Exclude with grep find -printf "%T+ %p\n"|sort <---> Kertoo asennetujne ohjelmien ajan jarjesteksyssa find -printf '%T+ M %p\n%A+ A %p\n%C+ C %p\n'|sort <---> Kertoo asennettujen ohjelmien ajan jarjestyksessa find /home -printf "%f\t%p\t%u\t%g\m\n" | column -t <---> Hakee home kansion kaikki tiedostot find / -group adm -ls 2>/dev/null <---> Ryhma oikeuksien haku find / -user joni -ls 2>/dev/null <---> Tiedostojen user oikeuksien haku find -printf "%T+ %p\n" | sort | grep -e ".exe$" <---> Etsii kansiotai eteenpain exe tiedostoja find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD <---> Etsii tiedostoja joilla on kaksoiskappale ________________________________________________________________________________________________________________________________ *** METADATA *** exiftool <---> libimage-exiftool-perl kertoo tiedoton luonti ajan ja muita tietoja patterns.dunttus.com kuvien metadata bashilla: exiftool -by-line="[Joni Hakala]" -CopyrightNotice="© [Joni Hakala] ; \ Licence: Creative Commons Zero v1.0 Universal \ (https://creativecommons.org/publicdomain/zero/1.0/)" \ -artist="[Joni Hakala]" -Copyright="© [Joni Hakala] ; \ Licence: Creative Commons Zero v1.0 Universal \ (https://creativecommons.org/publicdomain/zero/1.0/)" \ dunttus_patterns* ________________________________________________________________________________________________________________________________ *** ASENNUKSET *** sudo apt-get update <---> Paivittaa palvelimelle ohejelmitojen versio tiedot sudo apt-get upgrade <---> Paivittaa ohjelmistot sudo apt-get dist-upgrade <---> Kernel paivitykset sudo apt autoremove <---> Poistaa paketit turhat paketit sudo reboot <---> Uudelleen kaynnistys sudo apt-get dist-upgrade <---> Kernel paivitykset cat /etc/lsb-release <---> Linux version tarkastus uname -mrs <---> Kernel version tarkastus UBUNTU 19->20 sudo apt --purge autoremove <---> Poistaa kayttamattomat kernel versiot sudo apt install update-manager-core -y <---> Asentaa uuden core managerin sudo do-release-upgrade -d <---> Asentaa uusimman version Linuxista muista ottaa varmuuskopiot sudo ubuntu-drivers autoinstall <---> Asentaa esim Nvidia ajurit UBUNTU 20.04 -> 22.04 sudo ufw allow 1022/tcp <---> Jos päivität SSHn kautta avaa portti 1022 sudo apt-mark showhold <---> varmistaa ettei mihinkään paketiin ole vireillä päivityksiä (tyhjä=voi aloittaa) sudo apt-get update <---> Paivittaa palvelimelle ohejelmitojen versio tiedot sudo apt-get upgrade -y <---> Paivittaa ohjelmistot sudo reboot <---> uudelleen käynnistys sudo do-release-upgrade -d <---> Linux versio päivitys sudo ufw delete allow 1022/tcp <---> Jos avasit SSH failsafe portin muista sulkea se sudo systemctl restart ufw <---> Uudestaan käynnista ufw DEBIAN 9->10 apt-get dist-upgrade <---> Kernel paivitykset lsb_release -a <---> Linux version tarkastus uname -mrs <---> Kernel versio tarkastus nano /etc/apt/sources.list <---> Vaihda stretch -> buster apt-get update <---> Paivitaa versiot apt-get dist-upgrade <---> Asentaa buster paketit muista varmuuskopiot apt --purge autoremove <---> Poistaa vanhat paketit reboot <---> Kaynnista uudestaan apt-cache search ohjelmannimi <---> Etsii ohjelmistoja apt-get install ohjelmannimi <---> Asentaa ohjelmiston apt-get remove ohjelmannimi <---> Poistaa ohjelmiston apt-get purge ojelmnnimi <---> Poistaa ohjelmiston ja asetukset sudo apt-get install ohjelmisto <---> Turvallinen tapa asentaa ohjelmia sudo snap-install ohjelmisto <---> Ei niin turvallinen tapa asentaa ohjelmia systemctl restart ohjelmannimi <---> Uudelleen kaynnistys ohjelmalle reboot <---> Uudelleen kaynnistys koko Linuxille man ohjelmanimi <---> Manual sivu asennetusta ohjelmistosta ________________________________________________________________________________________________________________________________ *** LINUX PIKA NAPPAIN *** CTRL + C <---> Yleisesti sulkee ohjelmia WINDOWS + T <---> Avaa terminaalin WINDOWS + Z <---> Sammuttaa toimintoja ilde tilaan takaisin "fg" jobs <---> Nayttaa taustalla pyorivat ohjelmat listana fg <---> Tuo ctrl+Z suljetun tiedoston takaisin q <---> Yleisesti sulkee ohjelmia !! <---> Ajaa viime komento uudestaa sudo !! <---> Ajaa viime komennon sudona ________________________________________________________________________________________________________________________________ *** APACHE, UFW PALOMUURI JA PHP *** sudo ufw enable <---> Palomuuri paalle, jos etayhteys paalla ssh yhteys voi katketa sudo ufw allow 22/tcp <---> Ssh default portti auki sudo ufw allow 80/tcp <---> Apachen default portti auki sudo ufw deny 22/tcp <---> Ssh default portin sulkeminen sudo ufw status vebose <---> Tulimuurin status ja verbose luottavassa muodossa sudo systemctl restart ufw <---> Uudet ufw asetukset menee paalle restartilla nc -vz ip portti <---> Yhden portin scannaus netcatilla netstat -tulpn <---> Avoimet portit ss -lntpt <---> Avoimet portit ssh user@domain.com <---> SSH yhteys default 22 portiin echo hei | sudo tee /var/www/html/index.html <---> Korvaa apache testisivun sanalla hei sudo a2enmod userdir <---> Kayttajien oma public_html kansio kayttoon /home/user/public_html/index.htlm <---> Html sivun koti hakemisto, a2enmod userdir http://localhost/~user/ <---> Selaimella kayttajan kansion sivuun systemctl restart apache2 <---> Uudelleenkaynnistaa apachen2 index.php <---> Jotta saadaan php kayttoon vaihdataan paate .php libapache2-mod-php <---> Php lisaosa apacheen cd/etc/apache2/ <---> Asetukset apacheen <---> Esimerkki php koodista jos HTML sivule tulee 2 php on paalle ________________________________________________________________________________________________________________________________ *** USER CREATION *** apt-get install openssh-client openssh-server <---> Open-ssh asennus paketit hostname -I <---> Koneen Ip osoite 4 ja 6 ssh root@external_ip_address <---> Aluksi yhteys root kayttajalla ssh user@dunttus.com -p 2121 <---> Jos SSHn portti vaihdettu vaikka 2121 sudo adduser joni <---> Luo kayttajan joni sudo adduser joni sudo <---> Lisaa kayttajalle joni sudo oikeuden sudo adduser joni adm <---> Lisaa kayttajan joni admineihin sudo userdel joni <---> Poistaa kayttajan joni sudo usermod --lock root <---> Lukitsee root salasanan etc/ssh/sshd_config <---> SSH asetuksin kansio sudoedit sshd_config <---> PermitRootLogin vaihdetaan taalta "no" sudo service ssh restart <---> SSH uudelleen kaynnistys = asetukset tulee voimaan host dunttus.com dnsl.registrar-server.com <---> Talla voidaan katsoa hostin tietoja sudo a2ensite dunttus-com.conf <---> Lisaa tiedoston conf tiedostoon ________________________________________________________________________________________________________________________________ *** REACT, YARN & NPM *** npm --version <---> nmp versio tiedot node --version <---> node.js versio tiedot npx create-react-app kansion_nimi <---> Luo uuden React projektin npm install -g create-react-app todolist <---> Jos npx ei toimi npm -h <---> Apua npm komentoihin npm start <---> Aloittaa nykyisen kansion React projektin ctrl + c <---> Lopettaa Reacht projektin palvelimen yarn start <---> Aloittaa nykyisen kansion React projektin yarn build <---> Kokoaa apin staattiseen tiedostoon yarn add <---> Asentaa ulkoiset paketit yarniin ________________________________________________________________________________________________________________________________ *** PUBLIC AND PRIVATE KEYS *** ssh-keygen <---> Luo julkisen ja salaisen avaimen ssh-copy-id joni@localhost <---> Kopioi local hostiin avaimen to save the key (/home/user/.ssh/id_rsa): <---> Salainen avain rsa.pub julkinen avain <---> Julkinen avain ________________________________________________________________________________________________________________________________ *** DATATRASFER *** rsync nimi.txt joni@dunttus.com: <---> Tekstin kopiointi rsync -vazh --progress kansio joni@dunttus.com <---> v - komento vastaa h - human readeble scp "tiedosto" joni@dunttus.com:/home/joni <---> Tiedoston siirto scp scp -r joni@dunttus.com:/home/joni/folder ./ <---> Kansion lataus scp scp -P 2020 -r "tiedosto" joni@ip_adress:/home/joni <---> Tiedon siirto Windows feature bashilta portiin 2020 mkdir /mnt/kansionimi <---> Luodaan ensin kansio sshfs user@external_ip_adress: /mnt/kansionimi: <---> Graaffinen valikointi fusermount -u kansio <---> Irrottaa mount pointin ________________________________________________________________________________________________________________________________ *** PROCESS ANALYSIS *** top <---> Tietoja kuormituksesta uptime <---> Kurmituksen kehitys arvo nproc <---> Ytimet prosessorissa dstat <---> Verkkoliikenteen seuranta ohjelma nethogs <---> Verkkoliikenteen seuranta ohjelma netstat <---> Valmiiksi asennettu ohjelma verkon seuranta ohjelma dstat <---> Verkkoliikenteen seuranta ohjelma free -h <---> RAM muisti sudo iotop -oa <---> Levytilan kulutus sysstat | grep <---> Keraa lokitietoja etc/default/sysstat <---> ENABLED="true" asetuksista paalle sar <---> Tietoa prosessorin kaytosta systemctl restart <---> Jos ei toimi palvelun uudelleen kaynnistys systemctl status <---> Ohjelman status ps waux | less <---> prosessi lista waux | grep -i xclock <---> prosessi numero kill 123prosessinumero123 <---> tappaa prossessin numeron perusteella pstree -Up | less <---> prosessi puu hostname -I <---> Oma ip osoite df -ah <---> Paljon disk tilaa jaljella ________________________________________________________________________________________________________________________________ *** SCRIPTS *** echo "hei joni" <---> Kirjoitaa hei joni nano hei.sh <---> Luo scriptin bash ./hei.sh <---> Avaa scriptin #!/bin/bash <---> Oletus komento tulkki teksti tiedostoon ls -l hei.sh <---> Nayttaa oikeudet tiedostosta hei.sh -rwx-rwx-rwx <---> Dir tai tiedoston read write execute - user group chmod u+rw hei.sh <---> User read ja write oikeudet tiedostolle hei.sh chmod ugo+x hei.sh <---> Kaikkille oikeudet execute ls /usr/local/bin/ <---> Kansio kaikkille kayttajille which bash <---> Kertoo mista bash ajetaan nano hei.py <---> Luo teksti tiedoston johon voidaan kirjoittaa pyhthonia phython3 hei.py <---> Avaa phythonin tulkin CTRL+D <---> Sulkee phytonin print("heii") <---> Tulostaa heii ________________________________________________________________________________________________________________________________ *** SSH PROXY *** hostname -I <---> Nayttaa kaytetyt ipt SOCK5 <---> SSH proxy ominaisuuden nimi ssh -D 2020 nimi@osoite <---> SSH proxy yhteys tahan tarvitaan viela firefox asetukset nc -vz localhost 9080 <---> Portin avaus nc=netcat Firefox <---> Firefox asetuksista manual proxy vain SOCKS host = localhost FoxyProxxy <---> Hyodyllinen jos sivut blockaa proxy yhteyksia ________________________________________________________________________________________________________________________________ *** TMUX *** tmux new -s name <---> Aloittaa tmuxin CTRL+b +c <---> Prefix Prefix+ numero <---> vaihtaa sivun Prefix+d <---> Deletoi ikkunan ________________________________________________________________________________________________________________________________ *** USERS AND PASSWORDS *** jhakala tai joni <---> Esimerkki kaytaja, max 8merk, a-z, alkaa kirjaimella. pavahx6Ousoh <---> Hyva alkusalasan on satunainen ja kirjoitetaan muistiin. ls -ld salasanat.txt <---> Oikeudet salasana teksti tiedostolle chmod og-rwx salasanat.txt <---> Poistaa oikeudet read write execute sudo adduser joni <---> Luo kayttajan joni pwgen 12 2 <---> Generoi 12-merkkin salasanan 2 kertaa ________________________________________________________________________________________________________________________________ *** MARIADB *** Asennus: sudo apt-get install mariadb-client mariadb-server Kayttajan luonti: GRANT ALL ON databasenimi.* TO kayttajannimi@localhost IDENTIFIED BY 'salasana'; Kirjautuminen: mariadb --user=kayttajannimi --password SOURCES: Pohjana Tero Karvinen 2012: Linux kurssi, http://terokarvinen.com ******************************************************************************************************************************** ******************************************************************************************************************************** ________________________________________________________________________________________________________________________________ *** CISCO NETWORKS *** ________________________________________________________________________________________________________________________________ *** CISCO SWITCH CONFIG COMMANDS *** enable <---> Avaa reititimeen admin asetuksia set <---> Automatisoitu configurointi show running-config <---> Nayttaa asetuksia show ip route <---> Tietoja reitityksista show ip interfaces brief <---> Tietoa ip intefaceista show interfaces <---> Tietoa intefaceista show ipv6 interface <---> ipv6 samat komennot hostname nimi <---> Vaihtaa kytkimine nimen enable secret class <---> Encryptaa salasanan line console 1 <---> Siirtyy consoleen password salasana <---> Maarittaa consoleen salasanan login <---> Kirjautuminen exit <---> Console yhteyden sulkeminen service password-encryption <---> Encryptaa salasanan copy running-config startup-config <---> Kopioi taman hetkiset asetukset configure terminal <---> Konfigurointi mode interface gigabitethernet 0/0 <---> Tietyn kytkin portin configurointi interface serial 0/0/0 <---> Serial kytkimen configurointi interface loopback 0 <---> Loopback osoiteen configurointi ip address 10.10.10.1 255.255.255.0 <---> Ip osoite ja maski ipv6 address 2001::1/64 <---> Ipv 6 osoite ja maski no shutdown <---> Vaihdettu ip saadaan kayttoon exit ******************************************************************************************************************************** ******************************************************************************************************************************** ________________________________________________________________________________________________________________________________ Palvelinten Hallinta komentoja ________________________________________________________________________________________________________________________________ ** SALT ** sudo apt-get -y install salt-master <---> Asentaa salt masterin sudo apt-get -y install salt-minion <---> Asentaa salt minionin sudoedit /etc/salt/minion <---> Kansio, johon lisataan masterin ip master: 10.0.0.0 <---> Salt master rivi tiedostossa minion id: orjaid <---> Orjalle id minion tiedostoon mastrin alle systectl restart salt-minion <---> Uudelleen kaynnistaa salt minionin sudo salt-key <---> Nayttaa masterille lisatyt kayttajat sudo salt-key -A <---> Ottaa vastaan kaikki kayttajat sudo salt-key -d user <---> Poistaa tietyn kayttajan sudo salt '*' cmd.run 'whoami' <---> Lahettaa minionille terminaali komennon whoami sudo salt '*' grains.items <---> Kysyy orjilta tietoja sudo salt '*' pkg.install apache2 <---> Asentaa orjalle paketin apache2 sudo salt '*' sys.doc|less <---> Generoi saltista dokumentin /srv/salt/ <---> Salt tilojen default kansio masterilla top.sls <---> Avaa kansionimen perusteella init.sls tiedoston init.sls <---> Init.sls tiedosto sisaltaa ohjeet minion koneille esim. Asennus paketit _______________________ |srv/salt/top.sls | <---> Perus top.sls tiedoston sisalto |base: | | '*': | | - hello | | 'nimi': | | - webdev | |_______________________| _______________________ |/tmp/webdev.txt: | <---> Perus init.sls tiedoston sisalto | curl: | | pkg.installed | | apache2 | | pkg.installed | |_______________________| sudo salt '*' sys.state_doc <---> Generoi documentin koneelle omien asetuksien mukaan /var/lib/salt/pki/minion/minion_master.pub <---> Orja koneen kansiossa palvelimen julkinen avain ________________________________________________________________________________________________________________________________ **GIT VERSION CONTROL** git init nimi <---> Alku kansion luonti paikkallisesti git add . <---> Valmistaa kaikki tiedostot committia varten git commit -m "kommentti" <---> Vie kaikki muutokset lopuliseen tyohon mukaan git log <---> Tuo commit lokin ruudulle git config --global user.email "@" <---> Lisaa kayttajalle emalin commitiin git config --global user.name "Nimi" <---> Lisaa kayttajalle nimen committiin git diff <---> Naytaa miten tiedostoa vaihdettu git diff --cached <---> Valimuistin tiedoston vaihdot git reset --hard <---> Menee takaisinpain versioissa merkilla # voi kommentoida git clone URL <---> Kopioi repositoryn omalle koneelle pull push <---> Ensin pull sitten push meld tool <---> Mergin tool git tiedostoille git rm <---> Git poisto komento sudo git add .; sudo git commit -a -m "COMMENT"; sudo git pull; sudo git push sudo git add . && sudo git commit -a -m "COMMMENT" && sudo git pull && sudo git push git add . && git commit -a -m "COMMMENT" && git pull && git push ________________________________________________________________________________________________________________________________ ** VIRTUALBOX VAGRANT ** sudo apt-get install vagrant <---> Vagrantin asennus paketti sudo apt-get install virtualbox-qt <---> Virtualbox asennus paketti vagrant cloud bento valmis vm <---> Valmiiden vagrant koneiden asennus tiedostot vagrant init ubuntu/trusty64 <---> Esimerkki joka luo ubuntun benton valmiista paketista vagrant up <---> Asentaa vagrantin Vagrantfilen avulla vagrant ssh <---> Vagrant koneelle paasee ssh yhteydella vagrant destroy <---> Tuhoaa vagrant koneen ________________________________________________________________________________________________________________________________ ** FLASK ** export FLASK_DEBUG=1 <---> Run flask in debug mode for auto refresh server export FLASK_APP=flasktest.py <---> Choose what file you use for flask flask run <---> Run flask server ________________________________________________________________________________________________________________________________ ** DOCKER ** docker run name <---> Ajaa kontin docker system prune <---> Tuhoaa kaikki kontit, jotka on kiinni docker container ls -a <---> Listaa kontit docker ps -a <---> Listaa kontit docker -d -t <---> Ajaa kontin taustalle docker exec -it name <---> Avaa kontin nimella bashilla docker images -a <---> Listaa kaikki docker imaget docker image rm 9bf9865 <---> Poista idlla Dynaaminen kansio jako ja ohjelman ajaminen kontin sisalla sudo docker run -it --rm -v /home/USER/:/USER image:name python3 ./test.py sudo docker run -d --rm -v /home/USER/:/USER image:name python3 ./test.py sudo docker run --rm -v /home/USER/:/USER -it lokari:test ________________________________________________________________________________________________________________________________ ** CONDA ** conda install jupyter <---> Windows CMD conda asentaa jupyter notebookin conda install tensorflow <---> Windows CMD conda asentaa tensorflown conda create -n tensorflow_gpuenv tensorflow-gpu <---> Windows CMD Tekee uuden conda paketin nimella conda activate tensorflow_gpuenv <---> Windows CMD Activoi tehdyn paketin jupyter notebook <---> Windows CMD avaa uuden jupyter notebook instansen ________________________________________________________________________________________________________________________________ ** SALT WINDOWS ** salt-master --version <---> Linux herran Salt masterin versio sudo salt '*' cmd.run 'ipconfig' shell=powershell <---> Saltin kautta powershell komentoja sudo salt '*' cmd.run ipconfig <---> Saltin kautta cmd komentoja ___________________________________________ |C:\testi.txt: | <---> testi.sls tiedosto Windows C:\ kansioon | file.managed: | | - source: salt//testiwindows/testi.txt | |___________________________________________| sudo mkdir /srv/salt/win <---> Windows paketin hallinta kansio sudo chown root.salt /srv/salt/win <---> Kansio saattaa tarvita Salt kayttajalle omistajuuden salt-run winrepo.update_git_repos <---> Alustaa Salt-masterin paketin hallinta arkiston salt -G ‘os:windows’ pkg.refresh_db <---> synkronisoi pkg pakettivaraston myos Windows:in puolelle sudo salt 'orja' pkg.purge firefox <---> Paketin remote poisto windosilta sudo salt -G 'os:windows' pkg.refresh_db <---> Salt komento joka kohdennettu windows os SOURCES: Pohjana Tero Karvinen 2012: Palvelinten hallinta kurssi, http://terokarvinen.com Window Salt repo 2019: https://docs.saltstack.com/en/latest/topics/windows/windows-package-manager.html ******************************************************************************************************************************** ******************************************************************************************************************************** ________________________________________________________________________________________________________________________________ PYTHON BASICS ________________________________________________________________________________________________________________________________ ** Python 3 IDLE ** CTRL+N <---> Avaa uuden ikkunan IDLE:ssa CTRL+K <---> Poistaa rivin CTRL+F6 <---> Idlen uudelleenkaynnistys F5 <---> Ajaa koodin ________________________________________________________________________________________________________________________________ ** PYTHON BASICS ** apt-get install python3-pip <---> Python3 pip asennus Linuxille pip3 intall matplotlib <---> Matplotlib asennus python3 paketin hallinnalla python3 -m pip freeze <---> Asennetujen riippuvuuksien tarkastus \ <---> \ enter jatkaa kommenttia toiselle riville jos se on liian pitka (""" -komentti """) <---> Voidaan myos jatkaa toiselle riville # <---> Python kommentti # -*- coding: cp1252 -*- <---> Tulkille kerrotaan etta koodissa skandinaavisia kirjaimia ** Print ** print("asd") #kommentti <---> Kommentti voidaa laittaa samalle riville print("HelloWorld") <---> Printtaus pythonilla print("rivin vahto. \n") <---> Tulostus ja tyhja rivi print("muuttuja") <---> Muuttujan printtaus print("Torstaisin ruokana on pannukakkua ja",muuttuja) <---> Muuttujan ydistaminen print("Seinalla on",muuttuja,"muuttuja." <---> 2 Muuttujaa print(muuttuja+"!") <---> Muuttujaan liimaus print("Ei tule rivinvaihtoa. ",end="") <---> Seuraavalle printille ei rivin vaihtoa print("Minulla on",muuttuja,"kappaletta.", sep="") <---> sep ottaa valit muuttujan ymparilta pois print("Nimi:\tHakala Joni") <---> \t tekee tab valin tulostuksessa ________________________________________________________________________________________________________________________________ ** VARIABLES ** muuttuja = "pizza" <---> Pythyon muuttujan, ei skandeja, erikois merkkeja, varattuja muuttuja = "rivin vahto. \n" <---> \n tekee muuttujan peraan tyhjan rivin numero = 100 <---> Numero muuttuja ilman "" numero = "100" <---> Numero Stringina numero = int(numero) <---> Muuntaa arvon intiksi numero = str(numero) <---> Muuntaa arvon Strigiin numero = float(numero) <---> Muuntaa arvon desimaaliksi luku1 = 5.123 <---> Luku muuttuja luku1 = round(luku1) <---> Luku muuttujan pyoristaminen len(muuttuja) <---> Laskee merkit muuttujasta numero + 150 <---> Numero muuttujaan + 150 ________________________________________________________________________________________________________________________________ ** INPUTS ** lukuarvo = input("Kuinka vanha olet:") <---> Kysyy kayttajalta muuttuja arvon kierroksia = int(input("Kuinka monta kierrosta: ")) <---> Int input arvo ________________________________________________________________________________________________________________________________ ** IMPORTS ** import random <---> Tuo kirjaston random luku = random.randint(0,100) <---> Print("luku") kayttaa random kirjastoa ja arpoo luvun dir(random) <---> Nayttaa eri funkioita random importissa help(random.randint) <---> Apua import toimintoon from random import randint <---> Yhden funktion import import omatiedosto <---> omatiedosto.py import samalta kiintolevylta print(omatiedosto.funktio) <---> omatiedosto.py importista funktio haku ________________________________________________________________________________________________________________________________ ** ERRORS ** except Exception: <---> Virhetilanteiden jokeri luokka printaa oma syote printilla alle try: <---> Ajaa koodin ja katsoo tuleeko virheita oma syote printilla alle finally: <---> Lopetetaan ohkjelma jos tapahtuu virhe oma syote printilla alle class OmaVirhe(Exception): <---> Virhe luokassa ________________________________________________________________________________________________________________________________ ** FILE EDITING ** tiedosto = open("testi.txt", "r") <---> Avaa tiedotston testi.txt "r" avaa luku tilaan tiedosto = open("testi.txt", "w") <---> Avaa tiedoston kirjoitus tilaan tiedosto = open("testi.txt", "a") <---> Avaa tiedoston kirjoiutus tilaan ja luo tiedoston tiedosto = open("testi.txt", "rb") <---> Avaa tiedoston luku tilaan ja jos tiedostoa ei ole antaa error tiedosto.close() <---> Sulkee tiedoston tallennusmuuttuja = tiedostokahva.lukufunktio() <---> Muuttuja funktiolla def myfunktio(): <---> Funktio maaritellaan sanalla def ******************************************************************************************************************************** ******************************************************************************************************************************** ________________________________________________________________________________________________________________________________ !!! Penetration Testing kohdan kaytetyt menetelmat ovat vaarin kaytettyna laittomia, kayta omalla vastuulla. !!! Penetration Testing ________________________________________________________________________________________________________________________________ ** MEMO ** Intrusion kill chain Mitre att&ck Openwire bandit Hack the box eu metasploit3 mitmproxy foxyproxy yleisimmat salasanat itse tehty sanalista geoipblocking jsnice ghidra sysinternals RSA, Disobey, Black Hat /etc/shadow ooda loop teronpentest salasana pentestmonkey net reverse shell cheat sheet censys shodan maltego LinEnum <---> Githubissa ohjelma, joka etsii upgrade haavoituvuuksia PayloadsAllTheThings <---> Githubissa payloadeja eri kielille ________________________________________________________________________________________________________________________________ ** PENTEST BASICS ** rmmod pcspkr <---> Piip aani pois kalista /dev/shm/.virus.sh <---> Hyva ram kansio viiruksille apt-cache search pentest <---> Xubunulla haku virtualenv python3-pip <---> Asennus Xubuntulle ensin ladataan python ohjelma virtualenv mkdir mitm <---> Luodaan kansio mitm virtualenv env -p python3 <---> Luodaan kansiosta virtual enviroment source env/bin/activate <---> Activoidaan enviroment pip install mitmproxy <---> Asennetaan mitmproxy virtual kansioon nc -vz localhost 80 <---> Portti scannaus 1portti Verbose Zero Kali Linux Xfce 64-bit <---> OS CTRL+ALT+F7 <---> Jos Kali ei avaudu lepotilasta apt-get install docker.io <---> Paketin hallinta paketti docker pull webgoat/webgoat-7.1 <---> Tuo config tiedoston webgotille docker run -p 8080:8080 -t webgoat/webgoat-7.1 <---> Ajaa config tiedoston webgoatille newgrp docker <---> Avaa bash shellin uudella dockerille localhost:8080/WebGoat <---> Selaimella echo "salasana"|sha256sum <---> Salasana terminaaliin salattuna sha256 ________________________________________________________________________________________________________________________________ ** MITMPROXY ** EDITOR=nano mitmproxy -p 8888 <---> Mitmproxy nano editorilla portissa 8888 localhost 8888 <---> Manual HTTP proxy Firefox asetus ja 127 poistetaan Shift+K <---> Pika nappainten haku m <---> merkkaa e <---> Valikko tab <---> Tallentaa muutokset r <---> Reload page Shift+F <---> Seuraa uusia tiloja m <---> Voi vaihtaa kielta sivulla esim css tai javascript f <---> Filter expressions mitmproxy i <---> Intersept=nimi nappain "a" eteen pain 1askel shift+a <---> Intercept tilassa paasta kaikki loput lapi ________________________________________________________________________________________________________________________________ ** GOBUSTER ** gobuster dir -u http://URL -w /usr/share/word <---> Dir skannaus gobuster dir -u http://URL -w /usr/share/word -x .php <---> php paate etsinta ________________________________________________________________________________________________________________________________ ** SMB samba ** smbclient -L //10.10.10.10/ <---> Listaa SMB sharen kansiot smbclient //10.10.10.10/shares/ <---> Yhditaa kansiion get filename <---> Lataa tiedosto smb palvelimesta ________________________________________________________________________________________________________________________________ ** Zip file ** fcrackzip -D -u winrm.zip -p /usr/share/wordlists/rockyou.txt <---> Winrm zipin salasanan avaus ________________________________________________________________________________________________________________________________ ** DIRB SCANNER ** dirb http://10.10.10.1 -r -o <---> -r lippu no recursive ja -o tallentaa listan dirb http://10.10.10.1 -X .html <---> Etsii .html loppuiset sanat ________________________________________________________________________________________________________________________________ ** SEARCHSPLOIT ** searchsploit "app name" <---> Hakee tunnetuja haavoituvuuksia searchsploit -w "app name" <---> Tuo hakuun web sivun searchsploit -x id123.txt <---> Hakee lisatietoja IDn mukaan ________________________________________________________________________________________________________________________________ ** WEBGOAT ** POST ../../../../../WEB-INF/spring-security.xml <---> Tehtava bypass a path based access firefox inspector POST action DeleteProfile <---> SelectProfile --> DeleteProfile <---> User id 105 --> 104 <---> 450000 <---> <---> stage 1 <---> stage 2