________________________________________________________________________________________________________________________________
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